Atitit maven 编译与资源文件与web目录自定义配置 与eclipse的集成与war包打包 1.1. 配置webapp目录 plugin设置 webappDirectory 1 1.2.
Atitit maven 编译与资源文件与web目录自定义配置 与eclipse的集成与war包打包
1.1. 配置webapp目录 plugin设置 webappDirectory 1
1.2. Maven 配置maven不要乱编译, 指定sourceDirectory为srcnone 2
1.3. 指定maven不要乱复制一些src文件资源 指定resource为 resnone 2
2. Maven只需要打包war就可以了。。这个eclipse必须要web项目才可,maven还是比较好用 3
2.3. 设置C:\0wkspc\hislog\pom2tomcat.xml与运行 4
1.1. 配置webapp目录 plugin设置 webappDirectory
默认貌似在 src/main/webapp 太深了不好着,可维护性不好。。所以我们单独指定
<build>
<plugins>
<!-- 修改webapp目录为WebContent -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!-- 设置WebContent目录为Web目录 -->
<webappDirectory>${basedir}/WebContent</webappDirectory>
<warSourceDirectory>${basedir}/WebContent3</warSourceDirectory>
</configuration>
</plugin>
</plugins>
warSourceDirectory好像是个资源文件包,最后俩个合并在一起,使用起来差不多。。
1.2. Maven 配置maven不要乱编译, 指定sourceDirectory为srcnone
Maven 编译存在严重问题,编译容错度低,不好忽略编译错误,查了很多资料都没有配置生效来忽略编译错误 ,所以 我们配置maven不编译,直接使用eclipse生成的class文间 直接指定sourceDirectory为srcnone
Eclipse编译的class文件路径在 WebContent\WEB-INF\classes
<sourceDirectory>srcnone</sourceDirectory>
1.3. 指定maven不要乱复制一些src文件资源 指定resource为 resnone
默认它把 /src/main/resources下面文件复制过来了。我们已经用eclipse复制了,所以不需要二次复制了。去除
<resources>
<!-- 这个元素描述了项目相关或测试相关的所有资源路径 -->
<resource>
<!-- 描述存放资源的目录,该路径相对POM路径 -->
<directory>resnone</directory>
</resource>
</resources>
</build>
2. Maven只需要打包war就可以了。。这个eclipse必须要web项目才可,maven还是比较好用
更改了.proj文件,但是js valide超时。。只好改成普通的java项目了。。但是这时候eclipse就无法打包war了。。。
使用rar打包war,但是不能指定编码,导致在tomcat下报错解压,jar里面有中文文件。
只好使用maven打包了。
运行 maven install 打包。。
默认生成路径在target下面。。直接配置生成在tomcat部署目录下 免得复制
2.1. 配置打包war路径与名字
<!-- -->
<build>
<!-- war filename -->
<finalName>hislogv3</finalName>
<!-- war position -->
<directory>C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\webapps</directory>
2.2. 测试war包
放入C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\webapps\hislogv3-0.0.1-SNAPSHOT
最后解压开的这个
hislogv3-0.0.1-SNAPSHOT.war
2.3. 设置C:\0wkspc\hislog\pom2tomcat.xml与运行
Run cfg ,maven builder,new a cfg ...gols install
好像不想,行,只好pom.xml注释里面表明
3. 全部pom包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hisloggroupId</groupId>
<artifactId>hislogv3</artifactId>
<packaging>war</packaging>
<version>1</version>
<!-- pom2tomcat -->
<name>hislicense Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
</properties>
<!-- builder <finalName>hislogv3</finalName> -->
<!-- -->
<build>
<!-- war filename -->
<finalName>hislogv3</finalName>
<!-- war position -->
<directory>C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\webapps</directory>
<plugins>
<!-- 修改webapp目录为WebContent -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!-- 设置WebContent目录为Web目录 -->
<webappDirectory>${basedir}/WebContent</webappDirectory>
<warSourceDirectory>${basedir}/WebContent3</warSourceDirectory>
</configuration>
</plugin>
</plugins>
<!--
<targetPath>target3</targetPath>
<outputDirectory>bin</outputDirectory>
-->
<sourceDirectory>srcnone</sourceDirectory>
<resources>
<!-- 这个元素描述了项目相关或测试相关的所有资源路径 -->
<resource>
<!-- 描述存放资源的目录,该路径相对POM路径 -->
<directory>resnone</directory>
</resource>
</resources>
</build>
<!-- builder end -->
</project>