2016-06-07 107 views
0

我有一个Maven化项目,我使用Eclipse(但我也有从CMD运行它这个问题)与Java 1.6.0_45,我试图运行命令:如何更改Javadoc的包以查找源文件?

mvn package 

这里是我的项目: Project Layout

我的项目名称是cycle-server,而我的Main.java位于src/main/java下的测试包内。

cycle-server 
--> src/main/java 
    --> test 
     --> Main.java 
--> src/main/resources 
--> src/test/java 
--> src/test/resources 
--> Referenced Libraries 
--> JRE System Library [JavaSE-1.6] 
--> doc 
--> src 
    --> main 
     --> assembly 
      --> assembly.xml 
    --> test 
--> target 
--> pom.xml 

当我运行上面的命令:我收到此错误:

Loading source files for package main.java.test... 
Constructing Javadoc information... 
1 error 
1 warning 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] MavenReportException: Error while creating archive: 
Exit code: 1 - javadoc: warning - No source files for package main.java.test 
javadoc: error - No public or protected classes found to document. 

Command line was: "C:\Program Files (x86)\Java\jdk1.6.0_45\jre\..\bin\javadoc.exe" @options @packages 

Refer to the generated Javadoc files in 'C:\Users\Thy\eclipse\workspace\cycle-server\target\apidocs' dir. 

我已经查明我的问题到的Javadoc正在寻找在包:main.java.test。如果只是测试,我相信我能够成功构建。无论如何要修复Eclipse和命令行的Javadoc位置路径?

我已经尝试更改包名称,并且还更改了项目中的源文件夹。我想保持我的文件夹的方式。

Javadoc是必填的作业,我不想跳过Javadoc一代。

编辑:这是我的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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
    <groupId>COMPANY PARENT POM</groupId> 
    <artifactId>COMPANY MAVEN PARENT POM</artifactId> 
    <version>2.1</version> 
    </parent> 
    <groupId>test</groupId> 
    <artifactId>cycle-server</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>cycle-server</name> 
    <packaging>jar</packaging> 
    <dependencies> 
     <dependency> 
      <groupId>commons-cli</groupId> 
      <artifactId>commons-cli</artifactId> 
      <version>1.3.1</version> 
     </dependency> 
    </dependencies> 
    <repositories> 
     <!-- Tell Maven where to find the parent POM --> 
     <repository> 
      <releases> 
       <enabled>true</enabled> 
       <updatePolicy>daily</updatePolicy> 
       <checksumPolicy>ignore</checksumPolicy> 
      </releases> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
      <id>COMPANY PARENT POM</id> 
      <name>COMPANY PARENT POM REPO</name> 
      <url>REPO URL</url> 
     </repository> 
    </repositories> 
    <build> 
     <sourceDirectory>src</sourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>com.google.code.sortpom</groupId> 
       <artifactId>maven-sortpom-plugin</artifactId> 
       <version>2.2.1</version> 
       <executions> 
        <execution> 
         <phase>verify</phase> 
         <goals> 
          <goal>sort</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <lineSeparator>\n</lineSeparator> 
        <keepBlankLines>true</keepBlankLines> 
        <sortDependencies>scope,artifactId</sortDependencies> 
        <nrOfIndentSpace>-1</nrOfIndentSpace> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.5.5</version> 
       <executions> 
        <execution> 
         <id>make-assembly</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <descriptors> 
         <descriptor>src/main/assembly/assembly.xml</descriptor> 
        </descriptors> 
        <archive> 
         <manifest> 
          <mainClass>test.Main</mainClass> 
         </manifest> 
        </archive> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.0</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <profiles> 
     <profile> 
      <id>snapshot</id> 
      <activation> 
       <property> 
        <name>maven.perform.snapshot</name> 
        <value>true</value> 
       </property> 
      </activation> 
     </profile> 
    </profiles> 
</project> 
+0

你能告诉我们你的'pom.xml'吗? – meskobalazs

+0

你可以显示你的项目布局,而不是图像...导致那些无法访问这些图像的人......(限制)。最好是文本复制和粘贴 – khmarbaise

+0

我已更新它@meskobalazs!非常感谢!我已经添加了文本项目布局@khmarbaise!谢谢! –

回答

3

<sourceDirectory>是错误的。它应该是

<sourceDirectory>src/main/java</sourceDirectory> 

或者根本没有指定,因为这是默认值。这就是为什么它抱怨"package main.java.test",因为这不是一个真正的包。

+0

非常感谢你!你太棒了。 –

相关问题