這裡有一些將 GPars 整合到您專案中的想法。
版本 2.1 後的最新 Groovy 版本已包含我們的 GPars 工具, 所以您可能已經有 GPars 了! |
Grape
使用 Grape 進行整合非常簡單
Grape 設定
1
@Grab(group='org.codehaus.gpars', module='gpars', version='1.2.1')
快照版本
取得快照版本(暫停,等待新的提供者)
1
2
@GrabResolver(name='gpars', root='http://snapshots.repository.codehaus.org/', m2Compatible=true)
@Grab(group='org.codehaus.gpars', module='gpars', version='1.3-SNAPSHOT')
Grape 設定(選用)
GPars 選擇性地依賴一些第三方函式庫。它們大多數位於中央 Maven 儲存庫中,但是,Netty 函式庫僅位於 JBoss 儲存庫中。
為了利用(原型)遠端處理功能,您需要使用 GrabResolver 註解(自 Groovy 1.7 起)
Grape 組態
1
@GrabResolver(name='jboss', root='http://repository.jboss.org/maven2/')
或確保您的 grapeConfig.xml 檔案包含所有必要的 maven 儲存庫
grapeConfig.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!-- based on http://groovy.codehaus.org/Grape#Grape-CustomizeIvysettings -->
<ivysettings>
<settings defaultResolver="downloadGrapes"/>
<resolvers>
<chain name="downloadGrapes">
<filesystem name="cachedGrapes">
<ivy pattern="${user.home}/.groovy/grapes/[organisation]/[module]/ivy-[revision].xml"/>
<artifact pattern="${user.home}/.groovy/grapes/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
<!-- todo add 'endorsed groovy extensions' resolver here -->
<filesystem name="m2local" m2compatible="true">
<artifact pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision].[ext]" />
</filesystem>
<ibiblio name="ibiblio" m2compatible="true"/>
<ibiblio name="codehaus" root="http://repository.codehaus.org/" m2compatible="true"/>
<ibiblio name="jboss" root="http://repository.jboss.org/maven2/" m2compatible="true"/><!-- added by me -->
<ibiblio name="java.net2" root="http://download.java.net/maven/2/" m2compatible="true"/>
<!-- <ibiblio name="codehaus.snapshot" root="http://snapshots.repository.codehaus.org/" m2compatible="true"/> --><!-- Enable for GPars snapshots -->
</chain>
</resolvers>
</ivysettings>
Gradle
GPars 儲存在 中央 Maven 儲存庫 http://repo1.maven.org/maven2/org/codehaus/gpars/ 和 Codehaus Maven 儲存庫 http://repository.codehaus.org/org/codehaus/gpars/gpars/。
若要將 GPars 包含在您的專案中,請加入以下任一儲存庫以及專案中的相依性
Gradle
1
2
3
4
5
6
7
8
9
repositories {
mavenCentral()
//add repositories for optional dependencies
maven{url 'http://repository.jboss.org/maven2/'}
}
dependencies {
compile "org.codehaus.gpars:gpars:1.2.1"
}
快照版本
另一種方法
1
2
3
4
5
6
7
8
repositories {
maven{url 'http://snapshots.repository.codehaus.org/'}
//add repositories for optional dependencies
maven{url 'http://repository.jboss.org/maven2/'}
}
dependencies {
compile "org.codehaus.gpars:gpars:1.3-SNAPSHOT"
}
Maven
若要將 GPars 包含在您的專案中,請將以下(選用)儲存庫和相依性加入您的專案中
Maven 組態
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<repositories>
<repository>
<id>jboss</id>
<url>http://repository.jboss.org/maven2/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.codehaus.gpars</groupId>
<artifactId>gpars</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
以 Maven 為基礎的 Java API 範例專案
您可能也喜歡一個獨立的以 Maven 為基礎的 Java API 範例專案,展示如何從 Java 使用 GPars 以及如何將 GPars 與 Maven 整合。請參閱我們的下載頁面。
並且相同的範例專案也適用於快照版本。
Maven 設定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<repositories>
<repository>
<id>jboss</id>
<url>http://repository.jboss.org/maven2/</url>
</repository>
<repository>
<id>codehaus.snapshots</id>
<url>http://snapshots.repository.codehaus.org</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.codehaus.gpars</groupId>
<artifactId>gpars</artifactId>
<version>1.3-SNAPSHOT</version>
</dependency>
</dependencies>
Grails
1.2 版後的 Grails
利用內建的相依性管理,您可以更新 BuildConfig.groovy 檔案,而不是安裝外掛程式
Grails 設定
1
2
3
4
5
6
7
8
repositories {
mavenCentral()
// maven{url 'http://snapshots.repository.codehaus.org'} //enable if using *GPars* snapshots
maven{url 'http://repository.jboss.org/maven2/'}
}
dependencies {
build 'org.codehaus.gpars:gpars:1.2.1'
}
Griffon
使用 Griffon 內建的相依性管理
Griffon 組態
1
2
3
4
5
6
7
8
9
10
11
12
13
griffon.project.dependency.resolution = {
inherits "global"
default dependencies
repositories {
griffonHome()
mavenCentral()
}
dependencies {
runtime org.codehaus.gpars:gpars:1.2.1
}
}
}
您也可以考慮使用外掛程式來為舊版本的 Griffon 啟用 GPars。
相依性
GPars 本身依賴於來自 Maven 中央儲存庫 的一些函式庫。請查看 GPars 的公開 pom
GPars 相依性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.codehaus.gpars</groupId>
<artifactId>gpars</artifactId>
<version>1.2.1</version>
<name>GPars</name>
<description>The Groovy and Java high-level concurrency library offering actors, dataflow, CSP, agents, parallel collections, fork/join and more</description>
<url>http://gpars.codehaus.org</url>
<inceptionYear>2009</inceptionYear>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<dependencies>
<dependency>
<groupId>org.multiverse</groupId>
<artifactId>multiverse-core</artifactId>
<version>0.7.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jcsp</groupId>
<artifactId>jcsp</artifactId>
<version>1.1-rc5</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.codehaus.jsr166-mirror</groupId>
<artifactId>jsr166y</artifactId>
<version>1.7.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.1.9</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
<version>3.2.9.Final</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
</dependencies>
</project>
授權條款
以 APL 2.0 授權條款授權 - 授權條款