2012-02-22 49 views
2

我有以下结构的多模块项目:

-parent 
    -module1 
    -module2 
    -src 
     -main 
     -javadoc 
      -stylesheet.css 
    -pom.xml 

我想配置的Javadoc插件在父POM。但是,我需要指定stylesheet.css文件的路径。所以,我使用值${basedir}\src\main\javadoc\stylesheet.css。 但是,当我查看子模块的有效POM时,${basedir}被替换为子模块基本目录的绝对路径,但那里没有src/main/javadoc/stylesheet.css文件。我想,在子模块中复制stylesheet.css文件不是解决方案。

感谢

回答

2

${basedir}(简称${project.basedir})就是项目的的pom.xml文件所在的目录。因此,对于子模块,此属性将相应地包含到module1和module2目录的路径。

如果要配置的javadoc插件父的pom.xml所以这将是有效的子模块,你应该使用../src/main/javadoc/stylesheet.css

+0

好了,对于子模块,他们会在父src/main/javadoc目录中找到该文件。但是父项目呢?它会尝试从父目录中找到文件?它如何工作? – 2012-02-23 09:26:59

+0

@MickaelMarrache父项目通常是一个pom包装项目,例如,它不包含任何源文件。如果不是你的情况,那么你必须为父项目和每个子项目配置javadoc插件。 – 2012-02-23 09:33:27

+0

什么情况下我有一个多层次的项目?例如,父 - >模块1 - >模块1-2。 – 2012-02-23 13:32:19