我有一个新的库,叫做代码。它依赖于我创建的另外两个库,称为Template Featherweight和XBN-Java。但主要的库--我正试图让其他人使用的库!--是Codelet。另外两个是次要的。两者都是必需的,但只有在需要高级特性时才直接使用。
我终于通过mvn deploy
将JAR上传到Maven Central,至少上传到一次,这是一个很大的进步。
然而,我意识到,为了让其他人真正使用Codelet,他们需要在Codelet的POM中映射出整个依赖树。我相信这是正确的。
我担心的是,在三个POM中映射这个三个项目的依赖关系树,基本上需要我在Maven中复制我的Ant构建过程。我满怀希望地希望我不需要这样做,因为Ant对我来说很好,而Maven和我并不合得来。
模板Featherweight 0.1.0取决于
com.github.aliteralmind
/XBNJava
/0.1.3
(及其依赖项)Codelet 0.1.0依赖于
{@.codelet.and.out com.github.mylibrary.examples.AGoodExample}
这些可选的“Codelet类”称为“自定义器”,在运行javadoc.exe
之前进行编译。它们用于自定义示例代码的显示方式。编译后,Codelet将通过javadoc.exe
自动执行,所有内联标记也是如此。)
对于核心编译来说,它几乎是线性的:
<dependencies>
<dependency>
<groupId>com.github.aliteralmind</groupId>
<artifactId>templatefeather</artifactId>
<version>0.1.0</version>
</dependency>
<dependency>
<groupId>com.github.aliteralmind</groupId>
<artifactId>codelet</artifactId>
<version>0.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>16.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
我不明白dependencies
和dependencymanagement
之间的区别(为什么一些dependencies
块可以直接进入项目本身,而其他块是dependencymanagement
中的子块...尽管它似乎与父-子有关),我也不明白“javadoc”如何适合“scope”属性。虽然compile
和test
被明确列出,但页面上甚至不存在“doc”这个词。
我希望你能给我一些建议。谢谢你。
如果您的代码需要一些东西,但不是为了编译时(只是为了运行时),那么声明依赖项,但添加一个运行时作用域。
现在,如果您想提供一个“starter parent”pom.xml,那么就发布一个“starter parent”pom.xml,但不要在实际的构建链中使用它。
我工作的地方使用Maven,我们有很多内部库。我们尝试以向后兼容的方式进行更改,但有时我们的一个库需要另一个库的较新版本。如果最终产品没有加入较新的库版本,这可能会导致问题。 由于我们有很多库,如果最终产品使用了库A、B和C,而A和B都使用了不同版本的C,那么并不总是使用最新版本的C。从介绍到依赖机制: 依赖项中介--这确定当遇到工件的多个版本时,将使用依赖项的哪个版本。目前,Maven2.0只支
问题内容: 我有一个简单的Java 9 SE项目,该项目仅依赖于一个非模块化项目(在本示例中选择Weld SE),并且尝试使用Maven()构建它。为了添加Java 9,我添加了。最初,此文件仅包含模块名称,没有公式。 请记住,我唯一的依赖是不是一个模块化的项目,因此,我认为Maven会放在类路径中(不模块路径),因此它会在结束中描述的模块化系统的状态。 现在,我的Maven版本是3.3.9,并且
我在Stackoverflow上看到过类似的问题,但没有一个解决了这个问题。我刚刚从Expo桌面应用程序创建了一个新的ReactNative项目。但当Expo配置设置为LAN模式时,我无法通过二维码扫描在Android手机上运行它。在我的Android手机上似乎无法访问(看起来像)。我的手机在同一个Wifi网络上。 我还尝试通过关闭防火墙来运行Expo演示应用程序,但仍然没有成功。我相信你的一个技
在我的spring项目中,我可以像这样用XML定义bean:
问题内容: 我有一个简单的java maven项目。我执行时的一个类需要从类路径中加载xml配置文件。我不想在生成jar时打包此类xml文件,但我想在conf子文件夹下的zip程序集中包含默认的xml文件,并且我也希望此默认xml在单元测试中可用以对其进行测试。 如我所见,此默认xml有2个可能的位置: 两种解决方案都需要特殊的pom动作: 在解决方案1中,我在构建过程中将自动副本复制到目标文件夹
我创建了一个Maven项目,并添加了所需的依赖项。当我尝试构建项目时,会出现以下错误: 我的依赖关系确实表明,图书馆在那里: 其中包括必要的包: 以下是我的简历: 我对Java比较陌生,对Maven也很陌生,但是当我右键单击和时,我输入了适当的GroupID和artifactID和版本(如Maven Central中列出的),它会自动下载文件。不确定我还缺少什么。感谢任何帮助。 编辑:我应该注意,