gpt4 book ai didi

intellij-idea - Gradle:将源代码和 javadoc 附加到 IntelliJ Idea 中的本地文件

转载 作者:行者123 更新时间:2023-12-04 04:10:46 25 4
gpt4 key购买 nike

我正在使用 gradle (v1.9) 和 IntelliJIdea (v12.1.6)。我有一个简单的 java 项目和一个 build.gradle文件。一个依赖项不在 maven central 上,所以我将 jar 放在 lib 中。文件夹。

问题

对于 maven central 上的依赖项,gradle 使用 javadoc 和源代码(位于 $project/.idea/libraries 中)正确构建库 xml 文件。对于本地依赖项(JNativeHook),没有附加这样的源代码或 javadoc。作为比较,这两个 xml 文件:

带有源代码和 javadoc 附件

<component name="libraryTable">
<library name="jackson-core-2.2.3">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.2.3/1a0113da2cab5f4c216b4e5e7c1dbfaa67087e14/jackson-core-2.2.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.2.3/6021971970a43ae0c22f378cfb5813af869caab/jackson-core-2.2.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.2.3/b1c4a6c3c26dfc425efd53c00217868b60d07de9/jackson-core-2.2.3-sources.jar!/" />
</SOURCES>
</library>
</component>

没有源和 javadoc 附件
<component name="libraryTable">
<library name="JNativeHook-1.1.4">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/JNativeHook-1.1.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

附加信息

构建文件如下所示:
apply plugin: 'java'
apply plugin: 'idea'
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}

repositories {
mavenCentral()
flatDir(dirs: 'lib')
}

dependencies {
// Will be fetched from mavenCentral()
compile 'com.fasterxml.jackson.core:jackson-core:2.2.3'
// Will be fetched from the 'lib' directory (see second repository)
compile 'org.jnativehook:JNativeHook:1.1.4'
}

sourceCompatibility = 1.7
version = '0.1'
jar {
manifest {
attributes 'Implementation-Title': 'ScreenShotter',
'Implementation-Version': version,
'Main-Class': 'de.fau.screenshotter.ScreenShotter'
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}

我的项目结构如下所示:



问题 (tldr;)

如何告诉 gradle 创建适当的 javadoc 和源条目并将它们添加到 IntelliJ 使用的 xml 文件中?

最佳答案

如果你有一个二进制存储库管理器,那么一定要在那里发布模块,这样可以立即解决问题。否则,您将不得不微调 idea.module ,或者使用 idea.module.iml.whenMerged Hook ,或使用 idea.module.iml.withXml钩。这将需要一些编码,而且我没有准备好解决方案。有关 API 详细信息,请参阅 IdeaModule在 Gradle 构建语言引用中。

关于intellij-idea - Gradle:将源代码和 javadoc 附加到 IntelliJ Idea 中的本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com