2011-05-08 80 views
8

Greetings,Maven WAR - 源代码不被编译

我想用maven构建我的web应用程序,但遇到了一些困难。

Maven组装我的战争文件,并把所有东西放到它的位置,除了编译的类。似乎我的来源甚至没有被编译。

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

  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> 

组装洁具文件看起来不错,只是在WEB-INF/classes文件夹是空。我正在与Jenkins和Maven 3.0.2一起构建。

任何帮助将非常appreaciated。

最好的问候, 克里斯

+0

你觉得'WEB-INF/lib目录/ TestApp-0.0.1-SNAPSHOT.jar'?如果是这样,那么它意味着它将它们打包到jar文件中。 – gigadot 2011-05-08 21:51:52

+0

不幸的是,WEB-INF/lib文件夹也是空的。 – csupnig 2011-05-08 22:08:02

+0

你确定Jenkin使用“mvn clean install”命令来清理和编译代码吗?我不知道它是否仍然无效。你有没有使用Jenkin编译代码的问题? – gigadot 2011-05-08 22:29:19

回答

2

的问题可以解决:

正如评论我还在为詹金斯一些旧的配置中提到建立工作哪里会使用目标的战争:战争打造该项目。

删除后,它工作正常。

1

我有同样的问题(除了我不使用jekins)。 注:我使用maven的web应用程序的创建:

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

的webapp项目文件夹结构有一个这个文件夹: '的src/main /资源' 至极我所有的源(.java文件)均

。当我通过朋友消解将'资源'文件夹名称更改为'java'(意思是'src/main/java')时,我所要做的就是调用'mvn clean install'来让war文件包含编译类。

希望我的回答是不够详细....

+1

谢谢帮助了我 – MikeW 2012-09-04 07:59:14