pom.xml片段:
<modelVersion>4.0.0</modelVersion>
<groupId>com.xyz</groupId>
<artifactId>xyzservice</artifactId>
<version>2.2.2-SNAPSHOT</version>
<packaging>war</packaging>
结果文件:xyzservice-2.2.2-SNAPSHOT.war
我将war文件复制到webapps目录,并将其重命名为:xyzservice.war
。然后经Tomcat提取后,这段代码:
AImpl.class.getResource("/abc/d.pdf").getFile();
给了我:/usr/local/tomcat-8.0.36-8082/webapps/xyzservice-2.2.2-SNAPSHOT/WEB-INF/classes/abc/d.pdf
但是我期待/usr/local/tomcat-8.0.36-8082/webapps/xyzservice/WEB-INF/classes/abc/d.pdf
没有版本信息。任何人都可以向我解释出了什么问题&amp;怎么修?提前谢谢。
答案 0 :(得分:1)
从您的帖子中可以明显看出,您的Web应用程序是在tomcat webapps目录中使用名称xyzservice-2.2.2-SNAPSHOT
提取的。可能是你已经重命名了war文件,但不是它里面的目录。
请确保重命名不含版本的目录,xyzservice
,然后重试。
如果您希望在构建时删除该版本,请参阅以下帖子,并在的配置部分中包含 warName 标记,但不包含版本构建标记中的maven-war-plugin 。
答案 1 :(得分:1)
查看最初的war文件 - 它被命名为artifactID-version.war
,所以只重命名.war文件无济于事。您必须在pom.xml
中调整版本。