我是一位.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