我是一位.NET开发人员,他认为mono对我的项目来说太麻烦了,不适合。所以我开始学习Java ......如何在Java中引用外部库?
我现在面临的一个问题是不知道如何添加对外部库的引用。就像你在.NET中添加对dll的引用一样。
我意识到这可能会因IDE而异...我现在使用Eclipse。
我也想知道Java/Eclipse是否有像NuGet for .NET一样的包管理器?
在此先感谢。
我是一位.NET开发人员,他认为mono对我的项目来说太麻烦了,不适合。所以我开始学习Java ......如何在Java中引用外部库?
我现在面临的一个问题是不知道如何添加对外部库的引用。就像你在.NET中添加对dll的引用一样。
我意识到这可能会因IDE而异...我现在使用Eclipse。
我也想知道Java/Eclipse是否有像NuGet for .NET一样的包管理器?
在此先感谢。
maven
它类似于(和我的意见更好)的NuGet。 它是基于一个公共仓库,而你管理一个XML文件
你(类似.NET项目)的每个项目的引用将有pom.xml
文件,该文件将是这样的:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-module</artifactId>
<version>1</version>
</project>
而在这个文件中,你管理引用(又名依赖)
举例来说,如果你想添加这个依赖 - http://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.4
,您将需要修改pom.xml
像这样:
<project>
...
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
</dependencies>
...
</project>
,这就是它(可能是eclipse插件会替你查字典,你将被设置)
Iv'e也.net
约1.5年前搬到java
,我可以诚实地建议您使用intellij idea,而不是日食
使用Maven!这比NuGet多一点工作,但它非常棒! –
使用Gradle!
Gradle比Maven轻得多,而且非常灵活。实际上,配置文件是Groovy代码!没有详细的XML,您可以添加自定义功能等。我用它来创建一个大型的网络应用程序,并且从Maven(我以前曾经广泛使用过)开发时间很短。它使用Maven存储库获取依赖关系,并且可以在多语言项目中使用,以防您曾想过这样做。Gradle也是Android的默认构建工具。
下面是一个例子配置(从this粘贴,未经测试!):
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
如果您使用的是Eclipse,只需添加一行apply plugin: 'eclipse'
在顶部和摇篮会产生Eclipse项目文件与Eclipse完美结合(我多年没有使用过Eclipse,但是我相信也有Eclipse插件可以监视Gradle文件的变化并在运行中更新Eclipse配置)。如果您决定切换,Gradle还与IntelliJ集成。
Grazie Mille Giovanni,我真的很喜欢Gradle的声音,但是现在我要去看看Maven,因为英国的工作网站现在对Maven有更多的合同职责。不过,我一定会考虑下一个Gradle,因为我认为它可以在不久的将来取代Maven。 –
老实说,我很惊讶,任何人仍然使用Maven。 XML配置是一个噩梦,它非常不灵活。无论如何,一旦你理解了Maven概念,稍后将Maven项目迁移到Gradle很容易(我不能说相反)。 –
我已经把Java放下了一段时间,专注于C++。我正在制作一个多核心爱好项目,它将使用C++作为核心(用于性能)。我想使用Java来托管一个Web服务,它将报告C++应用程序的状态。当我重访时,我会看看Maven和Gradle。 –
您需要学习JNI ... –
太棒了......谢谢我现在就看看这个! –
看看http://stackoverflow.com/questions/2824515/how-to-add-external-library-properly-in-eclipse – SSH