2011-10-04 17 views
3

在建設項目時,控制檯顯示源代碼軟件包進行了彙編(px10包裝內的一個)生成的目標文件後,生成不包含所有已編譯的類必須一直存在

但是如果我看到生成的目標文件,源代碼包中沒有任何類。

  1. 試圖clean & build幾次,但犯規幫助
  2. 清除了NetBeans緩存從.../var/cache/

這裏是在構建Web應用程序

------------------------------------------------------------------------ 
Building ABCApp Java EE 6 Webapp 1.0 
------------------------------------------------------------------------ 

[antrun:run] 
Executing tasks 
Executed tasks 

[resources:resources] 
Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
Copying 13 resources 

[compiler:compile] 
File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent! 
Compiling 81 source files to C:\dev\ABCApp\target\classes 
px10/BusinessLayer/LOBERs/connect.java:[248,38] ';' expected 
px10/BusinessLayer/User/User_2.java:[127,52] '.class' expected 

[resources:testResources] 
Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
Copying 1 resource 

[compiler:testCompile] 
Nothing to compile - all classes are up to date 

[surefire:test] 
Surefire report directory: C:\dev\ABCApp\target\surefire-reports 

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
There are no tests to run. 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 


[war:war] 
Packaging webapp 
Assembling webapp [ABCApp] in [C:\dev\ABCApp\target\ABCApp] 
Processing war project 
Copying webapp resources [C:\dev\ABCApp\src\main\webapp] 
Webapp assembled in [1841 msecs] 
Building war: C:\dev\ABCApp\target\ABCApp.war 
Warning: selected war files include a WEB-INF/web.xml which will be ignored 
(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true') 

[install:install] 
Installing C:\dev\ABCApp\target\ABCApp.war to C:\dev\mavenRepository\w93\ABCApp\1.0\ABCApp-1.0.war 
Installing C:\dev\ABCApp\pom.xml to C:\dev\mavenRepository\w93\ABCApp\1.0\ABCApp-1.0.pom 
------------------------------------------------------------------------ 
BUILD SUCCESS 
------------------------------------------------------------------------ 
Total time: 9.053s 
Finished at: Tue Oct 04 11:49:46 IST 2011 
Final Memory: 6M/15M 
------------------------------------------------------------------------ 

這個問題似乎生成的日誌由於我從中刪除了一個名爲classes的文件夾我自己創建的文件夾。

下面是該項目的有效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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>w93</groupId> 
    <artifactId>ABCApp</artifactId> 
    <version>1.0</version> 
    <packaging>war</packaging> 
    <name>ABCApp Java EE 6 Webapp</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
    <netbeans.hint.deploy.server>gfv3ee6</netbeans.hint.deploy.server> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <dependencies> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>2.1.3_01</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>2.1.3_01</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>standard</artifactId> 
     <version>1.1.2</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-web-api</artifactId> 
     <version>6.0</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.2</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>ch.qos.logback</groupId> 
     <artifactId>logback-classic</artifactId> 
     <version>0.9.30</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.primefaces</groupId> 
     <artifactId>primefaces</artifactId> 
     <version>3.0.M3</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.google.protobuf</groupId> 
     <artifactId>protobuf-java</artifactId> 
     <version>2.4.1</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>commons-fileupload</groupId> 
     <artifactId>commons-fileupload</artifactId> 
     <version>1.2.2</version> 
     <scope>compile</scope> 
    </dependency> 
    </dependencies> 
    <repositories> 
    <repository> 
     <id>java.net2</id> 
     <name>Repository hosting the jee6 artifacts</name> 
     <url>http://download.java.net/maven/2</url> 
    </repository> 
    <repository> 
     <id>jsf20</id> 
     <name>Repository for library Library[jsf20]</name> 
     <url>http://download.java.net/maven/2/</url> 
    </repository> 
    <repository> 
     <id>prime-repo</id> 
     <name>PrimeFaces Maven Repository</name> 
     <url>http://repository.primefaces.org</url> 
    </repository> 
    <repository> 
     <snapshots> 
     <enabled>false</enabled> 
     </snapshots> 
     <id>central</id> 
     <name>Maven Repository Switchboard</name> 
     <url>http://repo1.maven.org/maven2</url> 
    </repository> 
    </repositories> 
    <pluginRepositories> 
    <pluginRepository> 
     <releases> 
     <updatePolicy>never</updatePolicy> 
     </releases> 
     <snapshots> 
     <enabled>false</enabled> 
     </snapshots> 
     <id>central</id> 
     <name>Maven Plugin Repository</name> 
     <url>http://repo1.maven.org/maven2</url> 
    </pluginRepository> 
    </pluginRepositories> 
    <build> 
    <sourceDirectory>c:\dev\ABCApp\src\main\java</sourceDirectory> 
    <scriptSourceDirectory>c:\dev\ABCApp\src\main\scripts</scriptSourceDirectory> 
    <testSourceDirectory>c:\dev\ABCApp\src\test\java</testSourceDirectory> 
    <outputDirectory>c:\dev\ABCApp\target\classes</outputDirectory> 
    <testOutputDirectory>c:\dev\ABCApp\target\test-classes</testOutputDirectory> 
    <resources> 
     <resource> 
     <directory>c:\dev\ABCApp\src\main\resources</directory> 
     </resource> 
    </resources> 
    <testResources> 
     <testResource> 
     <directory>c:\dev\ABCApp\src\test\resources</directory> 
     </testResource> 
    </testResources> 
    <directory>c:\dev\ABCApp\target</directory> 
    <finalName>ABCApp</finalName> 
    <pluginManagement> 
     <plugins> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.3</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2-beta-5</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.1</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.0</version> 
     </plugin> 
     </plugins> 
    </pluginManagement> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <executions> 
      <execution> 
      <id>default-testCompile</id> 
      <phase>test-compile</phase> 
      <goals> 
       <goal>testCompile</goal> 
      </goals> 
      <configuration> 
       <compilerArguments> 
       <bootclasspath>${settings.localRepository}/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\modules\jdk.boot.jar;C:\Program Files\Java\jdk1.6.0_23\jre\classes</bootclasspath> 
       </compilerArguments> 
       <source>1.6</source> 
       <target>1.6</target> 
       <failOnError>false</failOnError> 
      </configuration> 
      </execution> 
      <execution> 
      <id>default-compile</id> 
      <phase>compile</phase> 
      <goals> 
       <goal>compile</goal> 
      </goals> 
      <configuration> 
       <compilerArguments> 
       <bootclasspath>${settings.localRepository}/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\modules\jdk.boot.jar;C:\Program Files\Java\jdk1.6.0_23\jre\classes</bootclasspath> 
       </compilerArguments> 
       <source>1.6</source> 
       <target>1.6</target> 
       <failOnError>false</failOnError> 
      </configuration> 
      </execution> 
     </executions> 
     <dependencies> 
      <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-endorsed-api</artifactId> 
      <version>6.0</version> 
      <scope>compile</scope> 
      </dependency> 
     </dependencies> 
     <configuration> 
      <compilerArguments> 
      <bootclasspath>${settings.localRepository}/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\modules\jdk.boot.jar;C:\Program Files\Java\jdk1.6.0_23\jre\classes</bootclasspath> 
      </compilerArguments> 
      <source>1.6</source> 
      <target>1.6</target> 
      <failOnError>false</failOnError> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.1.1</version> 
     <executions> 
      <execution> 
      <id>default-war</id> 
      <phase>package</phase> 
      <goals> 
       <goal>war</goal> 
      </goals> 
      <configuration> 
       <failOnMissingWebXml>false</failOnMissingWebXml> 
      </configuration> 
      </execution> 
     </executions> 
     <configuration> 
      <failOnMissingWebXml>false</failOnMissingWebXml> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <version>1.3</version> 
     <executions> 
      <execution> 
      <id>compile-protoc</id> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      <configuration> 
       <tasks> 
       <mkdir dir="src/main/resources/protocolBuffers/compiled" /> 
       <path id="proto.path"> 
        <fileset dir="src/main/proto"> 
        <include name="**/*.proto" /> 
        </fileset> 
       </path> 
       <pathconvert pathsep=" " property="proto.files" refid="proto.path" /> 
       <exec executable="src/main/resources/protocolBuffers/compiler/protoc" failonerror="true"> 
        <arg value="--java_out=src/main/resources/" /> 
        <arg value="-Ic:\dev\ABCApp/" /> 
        <arg line="${proto.files}" /> 
       </exec> 
       </tasks> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <artifactId>maven-clean-plugin</artifactId> 
     <version>2.4.1</version> 
     <executions> 
      <execution> 
      <id>default-clean</id> 
      <phase>clean</phase> 
      <goals> 
       <goal>clean</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <artifactId>maven-install-plugin</artifactId> 
     <version>2.3.1</version> 
     <executions> 
      <execution> 
      <id>default-install</id> 
      <phase>install</phase> 
      <goals> 
       <goal>install</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.4.3</version> 
     <executions> 
      <execution> 
      <id>default-resources</id> 
      <phase>process-resources</phase> 
      <goals> 
       <goal>resources</goal> 
      </goals> 
      </execution> 
      <execution> 
      <id>default-testResources</id> 
      <phase>process-test-resources</phase> 
      <goals> 
       <goal>testResources</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.7.2</version> 
     <executions> 
      <execution> 
      <id>default-test</id> 
      <phase>test</phase> 
      <goals> 
       <goal>test</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <artifactId>maven-deploy-plugin</artifactId> 
     <version>2.5</version> 
     <executions> 
      <execution> 
      <id>default-deploy</id> 
      <phase>deploy</phase> 
      <goals> 
       <goal>deploy</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <artifactId>maven-site-plugin</artifactId> 
     <version>2.0.1</version> 
     <executions> 
      <execution> 
      <id>default-site</id> 
      <phase>site</phase> 
      <goals> 
       <goal>site</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>c:\dev\ABCApp\target\site</outputDirectory> 
       <reportPlugins> 
       <reportPlugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-project-info-reports-plugin</artifactId> 
       </reportPlugin> 
       </reportPlugins> 
      </configuration> 
      </execution> 
      <execution> 
      <id>default-deploy</id> 
      <phase>site-deploy</phase> 
      <goals> 
       <goal>deploy</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>c:\dev\ABCApp\target\site</outputDirectory> 
       <reportPlugins> 
       <reportPlugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-project-info-reports-plugin</artifactId> 
       </reportPlugin> 
       </reportPlugins> 
      </configuration> 
      </execution> 
     </executions> 
     <configuration> 
      <outputDirectory>c:\dev\ABCApp\target\site</outputDirectory> 
      <reportPlugins> 
      <reportPlugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-project-info-reports-plugin</artifactId> 
      </reportPlugin> 
      </reportPlugins> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <reporting> 
    <outputDirectory>c:\dev\ABCApp\target\site</outputDirectory> 
    </reporting> 
    <profiles> 
    <profile> 
     <id>endorsed</id> 
     <activation> 
     <property> 
      <name>sun.boot.class.path</name> 
     </property> 
     </activation> 
     <build> 
     <plugins> 
      <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <dependencies> 
       <dependency> 
       <groupId>javax</groupId> 
       <artifactId>javaee-endorsed-api</artifactId> 
       <version>6.0</version> 
       </dependency> 
      </dependencies> 
      <configuration> 
       <compilerArguments> 
       <bootclasspath>${settings.localRepository}/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_23\jre\lib\modules\jdk.boot.jar;C:\Program Files\Java\jdk1.6.0_23\jre\classes</bootclasspath> 
       </compilerArguments> 
      </configuration> 
      </plugin> 
     </plugins> 
     </build> 
    </profile> 
    </profiles> 
</project> 
+0

我錯過了一個與你的最後一段有關的觀點:什麼是這樣的''類文件夾'項目根目錄的路徑?而且,你寧願在這裏粘貼'clean compile'日誌,而不是'test'。一個'mvn clean compile -X'輸出將是最好的,如果它是可管理的長度。 –

+0

'classes'的路徑是src/main/webapp/WEB-INF/classes /。在這個文件夾中,我放置了一些日誌框架('logback')所需的配置文件。但是因爲我把這些文件移到其他地方,我只是簡單地刪除了這個目錄我不從命令行運行'mvn',而是從netbeans本身運行。上面打印的日誌是在執行'clean&build'時生成的。 –

+0

以上信息不足以幫助您解決問題。你或者需要包含'pom。(更好的是如果你轉儲有效的POM),和/或爲我們提供更詳細的跟蹤,如'mvn clean compile -X'。如果你說某些文件沒有到/目標文件夾,第二個更好。 –

回答

2

我發現,這個問題是由於一些,因爲沒有一個類的源包內的不可編譯的類都被複制到文件夾/target/classes/。在刪除不可編譯的源代碼時,我發現它工作正常。

1

行家不到位產生的內容src/main/webapp/WEB-INF/classes文件夾中。

默認情況下(以及上面的pom代碼片段),它將已編譯的類放在target/classes文件夾中。如果是戰爭項目,maven war plugin將這些類複製到webapp中的WEB-INF/classes文件夾。

所以,在你的情況下,檢查以下文件夾:

  • C:\ dev的\ ABCApp \目標\類
  • C:\ dev的\ ABCApp \目標\ ABCApp \ WEB-INF \班
+0

是Raghuram ..我已檢查這兩個文件夾,但編譯的Java類是無處可去的。 –

+0

Infact現在我看到沒有編寫java類 –

+0

@Marcos。我在上面的日誌中看到「將81個源文件編譯爲C:\ dev \ ABCApp \ target \ classes」。因此,在構建結束前刪除它們 – Raghuram

1

這也會發生在Maven的編譯器插件

的某些版本以下修補程序解決了這個問題對我來說,現在Maven的正確報道編譯器錯誤。 有了下面的評論版本,maven可以成功構建,儘管不可編譯的代碼。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.0</version> 
    <!--This version will happily build successfully when the code fails to compile--> 
    <!--<version>3.1</version>--> 
</plugin> 
相關問題