Maven WAR - 来源未编译

时间:2011-05-08 20:20:28

标签: java web-applications maven

问候,

我正在尝试使用maven构建我的Web应用程序,但遇到了一些困难。

Maven汇总了我的war文件并将所有内容放到了它的位置,除了编译的类。好像我的消息来源甚至没有被编译。

我的文件夹结构如下所示:

         src
         src/main
         src/main/java
         src/main/java/com
         src/main/java/com/test
         src/main/java/com/test/applications
         src/main/java/com/test/applications/TestApplication.java
         src/main/resources
         src/main/webapp
         src/main/webapp/media
         src/main/webapp/media/someimages.jpg
         src/main/webapp/styles
         src/main/webapp/styles/somecss.css
         src/main/webapp/WEB-INF
         src/main/webapp/WEB-INF/web.xml
         src/main/webapp/scripts
         src/main/webapp/scripts/jquery
         src/main/webapp/scripts/jquery/jquery-1.5.js
         pom.xml

我的pom.xml看起来像这样:

<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.test</groupId>
  <artifactId>TestApp</artifactId>
  <packaging>war</packaging>

  <version>0.0.1-SNAPSHOT</version>
  <name>TestApp Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <build>
    <finalName>TestApp</finalName>
  </build>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

组装的ware文件看起来没问题,只是WEB-INF / classes文件夹为空。我正在使用Jenkins和Maven 3.0.2构建。

任何帮助都会非常有用。

最诚挚的问候, 克里斯

2 个答案:

答案 0 :(得分:2)

问题可以解决:

正如评论中所提到的,我仍然有一些jenkins构建工作的旧配置,它将使用目标战:war来构建项目。

删除后,它工作正常。

答案 1 :(得分:1)

我遇到了同样的问题(除了我没有使用jekins)。 注意:我使用了maven webapp创建:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=myGroupID -DartifactId=myArtifactID

webapp项目文件夹结构有一个这个文件夹:'src / main / resources'我所有的源(.java文件)都在。

因为我将'resources'文件夹名称更改为'java'(意思是'src / main / java'),所以我所要做的就是调用'mvn clean install'来包含war文件包含编译类。

希望我的回答足够详细......