1 简单工程创建与运行

https://www.jetbrains.com/help/idea/creating-and-running-your-first-java-application.html#create_project

自制的GIF–>
简单工程创建与运行

2 debug的一些小功能

https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html

自制的GIF–>
debug的一些小功能

3 工程的基本结构

看一下普通的maven工程结构,以及基于spring的web工程的结构,后者依赖前者。除了结构之外,了解一下如何配置Dependencies

自制的GIF–>
工程的基本结构

复杂的war构建

基本情况:

  • 依赖其它普通工程
  • 依赖外部jar包,放在web-inf/lib下

第一问题好解决,添加dependency即可。第二个问题解决历程是这样的:

  • 虽然application structure配置页将jar添加到了依赖项中,但是在执行mvn clean install时仍报编译错误,提示依赖的class无法找到,解决办法,添加如下compilerArguments
			<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <inherited>true</inherited>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
					<compilerArguments>
						<extdirs>${project.basedir}/web/WEB-INF/lib</extdirs>
					</compilerArguments>
                </configuration>
            </plugin>
       </plugins>
   </build>
  • 编译没问题了,但是打成的War包里还是没有jar包,尝试这样解决,但是有问题,拷贝到war中的jar包文件都打开异常,提示文件不完整
<build>
        <plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>

				<configuration>
					<webResources>
						<resource>
							<directory>web/WEB-INF/</directory>
							<targetPath>WEB-INF</targetPath>
							<includes>
								<include>web.xml</include>
							</includes>
							<filtering>true</filtering>
						</resource>

						<resource>
							<directory>web/WEB-INF/lib/</directory>
							<targetPath>WEB-INF/lib</targetPath>
							<includes>
								<include>LtXmlLib9.jar</include>
								<include>xerces-1_4_3.jar</include>
							</includes>
							<filtering>true</filtering>
						</resource>
  • 下面办法可行,将整个文件夹拷贝式:
						<!--[Refer to] https://abou-kone.com/2010/09/28/maven-war-plugin-copying-resources-to-another-folder/-->
						<resource>
							<targetPath>/</targetPath>
							<filtering>false</filtering>
							<directory>${project.basedir}/web</directory>
							<includes>
								<include>**/*.*</include>
							</includes>
						</resource>
					</webResources>

				</configuration>
				<version>3.2.1</version>
			</plugin>

看动图–>
复杂的war构建