我在运行mvn javadoc时遇到以下错误:javadoc
[错误]退出代码:1-javadoc:错误-非法包名称:"edu.princeton.cs.1-Fundamentals.1-1-BasicProgModel"
原因我很清楚,但我不知道如何解决它。
这是我在文件夹src/main/java/edu/princeton/cs/
中的src文件结构。
├── 1-Fundamentals
│ ├── 1-1-BasicProgModel
│ ├── 1-2-DataAbstraction
│ ├── 1-3-BagsQueuesStacks
│ ├── 1-4-AnalysisOfAlgorithms
│ └── 1-5-UnionFind
├── 2-Sorting
│ ├── 2-1-ElementarySorts
│ ├── 2-2-Mergesort
在每个目录中,java代码都包含包edu。普林斯顿大学反恐精英。algs4;
这意味着文件夹名不是包名。然而,javadoc错误地认为文件夹名是包名。
我怎么能让maven知道没有像
edu.princeton.cs.1-Fundamentals.1-1-BasicProgModel
这样的包
你的路径是否包含空格。如果任何目录名包含空格,那么javadoc插件似乎失败了。
例子:
糟糕的路线:我的项目/java项目/我的新游戏
好路线:MyProject/Project java/My new game
您试图违背Maven的惯例使用它。默认情况下,除非明确说明,否则项目的源代码根位于src/main/java
下。这意味着下面的任何目录都将被视为包名称的一部分,因此必须与. java源文件中声明的包名称相匹配。
现在,您可以重写约定,并告诉Maven考虑另一个目录源根,以便JavaC或JavaDoc工作如预期:
::pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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>example</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<!--Overrides the default:-->
<!--<sourceDirectory>src/main/java</sourceDirectory>-->
<sourceDirectory>./path/relative/to/pom.xml/</sourceDirectory>
</build>
</project>
由于在这个项目中有多个来源,您可以考虑添加单独的POM。xml,或者更改布局并添加其他源目录,以及pom中的附加插件。xml:
项目结构:
Project Directory
├── 1-Fundamentals
│ ├── 1-1-BasicProgModel
│ │ ├──src
│ │ │ └──edu/princeton/cs/algs4 (only classes and directories matching packages)
│ │ │ ├── JavaClass1.java
│ │ │ └── JavaClass2.java
│ │ └── other non source content
│ ├── 1-2-DataAbstraction
│ │ ├──src
│ │ │ └──edu/princeton/cs/algs4
│ │ │ ├── JavaClass3.java
│ │ │ └── JavaClass4.java
│ │ └── other non source content
│ └── 1-3-BagsQueuesStacks
│ ├──src
│ │ └──edu/princeton/cs/algs4
│ │ ├── JavaClass5.java
│ │ └── JavaClass6.java
│ └── other non source content
└── pom.xml
告诉maven源根在哪里:
<?xml version="1.0" encoding="UTF-8"?>
<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>example</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals><goal>add-source</goal></goals>
<configuration>
<sources>
<source>1-Fundamentals/1-1-BasicProgModel/src</source>
<source>1-Fundamentals/1-2-DataAbstraction/src</source>
<source>1-Fundamentals/1-3-BagsQueuesStacks/src</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
我使用eclipse,在我的java项目中有8个包。我试图用eclipse(Project)生成我的javadoc- 非法软件包名称:"sjavaeclipseeclipsepluginsorg.eclipse.core.databinding.property_1.4.200.v20130515-1857.jar;C:UsersPhilworkspaceBachelor_Thesislibjun
问题内容: 嗨,我在呼叫API时发现以下异常 https://abc_xyz.stg.myweb.com/api/AuthorizedUser?username=admin&password=admin java.security.cert.CertificateException:非法的给定域名 使用Jersey从服务器获取响应时。当我收到邮递员的回复时,一切都很好。 为什么是非法域名,浏览器是
我遇到了下一个问题: 我试图运行我自己的和美丽的doclet在控制台(Windows 7): 这让我想到了一大堆例外: (总是同一个)。 然后,我在StackOverflow中发现有人说这是一个带有注释的第三方库问题(StackOverFlow:为什么我在生成javadocs时会得到一个ClassCastExctive?)。解决方案似乎是将那些带有注释的库添加到类路径中,所以我运行了下一行: 我现
为什么在Oracle DB中出现此错误? cx_Oracle。ORA-01036:非法变量名称/数字
我已经创建了一个API,希望将数据插入oracle数据库。但我收到一条错误消息“error:ORA-01036:非法变量名/编号”。我不知道我犯了什么错误。希望能帮我解决这个问题。先谢谢你。 [错误:ORA-01036:非法变量名/编号]{errorNum:1036,偏移量:0}
问题内容: 我在面向对象的编程类中为小行星游戏创建了一个小行星字段,但收到非法字符错误:“ \ u200b”。该问题似乎在第12行上发生。(import java.awt.Point;与公共类Asteroid之间的行扩展了PolyBlob) 问题答案: 是Unicode中的“零宽度空间”。 您应该删除第12行(空白行),保存文件,重新添加空白行并再次保存。使用简单的文本编辑器。 如果不能解决问题,