为 Java 编译 GoldenGate 的 Maven 设置?
Maven settings for compiling GoldenGate for Java?
Java 的 GoldenGate 未安装在 public Maven 存储库中。
如何设置我的 Maven 构建环境来处理 GoldenGate 库?
这些库需要点击许可协议,可在此处下载:
http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html
无论您在哪个平台上工作,您都需要 Oracle GoldenGate Application Adapters
。以下命令假定您已下载文件 ggs_Adapters_Linux_x64.zip
,版本 12.2.0.1。相应地调整您的版本号。
首先,提取需要的文件:
jar xvf ggs_Adapters_Linux_x64.zip ggs_Adapters_Linux_x64.tar
tar -zxvf ggs_Adapters_Linux_x64.tar ggjava/resources/lib/*
然后,使用install-plugin
安装三个jar文件,并适当设置版本和组信息。
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=ggjava/resources/lib/ggdbutil-12.2.0.1.0.012.jar -DgroupId=com.oracle.goldengate -DartifactId=ggdbutil -Dversion=12.2.0.1.0.012 -Dpackaging=jar
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=ggjava/resources/lib/gguserexitapi-12.2.0.1.0.012.jar -DgroupId=com.oracle.goldengate -DartifactId=gguserexitapi -Dversion=12.2.0.1.0.012 -Dpackaging=jar
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=ggjava/resources/lib/ggutil-12.2.0.1.0.012.jar -DgroupId=com.oracle.goldengate -DartifactId=ggutil -Dversion=12.2.0.1.0.012 -Dpackaging=jar
在您的 pom.xml 中添加此 属性:
<properties>
<goldengate.version>12.2.0.1.0.012</goldengate.version>
</properties>
以及这些依赖项:
<dependency>
<groupId>com.oracle.goldengate</groupId>
<artifactId>ggdbutil</artifactId>
<version>${goldengate.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.goldengate</groupId>
<artifactId>gguserexitapi</artifactId>
<version>${goldengate.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.goldengate</groupId>
<artifactId>ggutil</artifactId>
<version>${goldengate.version}</version>
</dependency>
您可以按照 Mark Harrison 的建议手动安装它们,但这只会将它们安装到您的本地存储库中。如果您要与其他人一起使用该代码库并希望避免每个人都必须做同样的事情,您必须选择:
首先推荐,安装一个 Maven 存储库管理器,例如 Nexus 或 Artifactory,然后将 jar 推送到那里。到达那里后,您只需配置本地 ~/.m2/settings.xml 即可从您的回购管理器中提取工件。
设置看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<profiles>
<profile>
<repositories>
<repository>
<id>repo</id>
<name>repo</name>
<url>https://some.host.com/artifactory/repo</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>plugin-repo</id>
<name>plugin-repo</name>
<url>https://some.host.com/artifactory/repo</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
<servers>
<server>
<id>artifactory</id>
<username>user</username>
<password>pass</password>
</server>
</servers>
</settings>
值得一提的是,这是每个环境配置的一次性配置,而不是每次将一个 3rd 方 jar 添加到项目中时都必须安装你使用的每个 3rd 方 jar。使用这种方法,当你有一个新的第 3 方 jar 时,你只需将它部署到 repo 管理器,通过他们的 Web UI,或使用命令:
mvn deploy:deploy-file -DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<type-of-packaging> \
-Dfile=<path-to-file> \
-DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
-Durl=<url-of-the-repository-to-deploy>
(此处有更多详细信息 https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html)
第二种方法 将简单地添加指向 pom.xml 所在的相对路径的依赖项,如下所示:
<dependency>
<artifactId>..</artifactId>
<groupId>..</groupId>
<scope>system</scope>
<systemPath>${basedir}/lib/dependency.jar</systemPath>
</dependency>
选择这个而不是安装的理由再次是方便共享此代码库的每个人。您只需将 jar 上传到您的代码存储库,并将依赖项指向该位置,没有人需要 install/run 任何东西来编译项目。
Java 的 GoldenGate 未安装在 public Maven 存储库中。
如何设置我的 Maven 构建环境来处理 GoldenGate 库?
这些库需要点击许可协议,可在此处下载:
http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html
无论您在哪个平台上工作,您都需要 Oracle GoldenGate Application Adapters
。以下命令假定您已下载文件 ggs_Adapters_Linux_x64.zip
,版本 12.2.0.1。相应地调整您的版本号。
首先,提取需要的文件:
jar xvf ggs_Adapters_Linux_x64.zip ggs_Adapters_Linux_x64.tar
tar -zxvf ggs_Adapters_Linux_x64.tar ggjava/resources/lib/*
然后,使用install-plugin
安装三个jar文件,并适当设置版本和组信息。
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=ggjava/resources/lib/ggdbutil-12.2.0.1.0.012.jar -DgroupId=com.oracle.goldengate -DartifactId=ggdbutil -Dversion=12.2.0.1.0.012 -Dpackaging=jar
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=ggjava/resources/lib/gguserexitapi-12.2.0.1.0.012.jar -DgroupId=com.oracle.goldengate -DartifactId=gguserexitapi -Dversion=12.2.0.1.0.012 -Dpackaging=jar
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=ggjava/resources/lib/ggutil-12.2.0.1.0.012.jar -DgroupId=com.oracle.goldengate -DartifactId=ggutil -Dversion=12.2.0.1.0.012 -Dpackaging=jar
在您的 pom.xml 中添加此 属性:
<properties>
<goldengate.version>12.2.0.1.0.012</goldengate.version>
</properties>
以及这些依赖项:
<dependency>
<groupId>com.oracle.goldengate</groupId>
<artifactId>ggdbutil</artifactId>
<version>${goldengate.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.goldengate</groupId>
<artifactId>gguserexitapi</artifactId>
<version>${goldengate.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.goldengate</groupId>
<artifactId>ggutil</artifactId>
<version>${goldengate.version}</version>
</dependency>
您可以按照 Mark Harrison 的建议手动安装它们,但这只会将它们安装到您的本地存储库中。如果您要与其他人一起使用该代码库并希望避免每个人都必须做同样的事情,您必须选择:
首先推荐,安装一个 Maven 存储库管理器,例如 Nexus 或 Artifactory,然后将 jar 推送到那里。到达那里后,您只需配置本地 ~/.m2/settings.xml 即可从您的回购管理器中提取工件。 设置看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<profiles>
<profile>
<repositories>
<repository>
<id>repo</id>
<name>repo</name>
<url>https://some.host.com/artifactory/repo</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>plugin-repo</id>
<name>plugin-repo</name>
<url>https://some.host.com/artifactory/repo</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
<servers>
<server>
<id>artifactory</id>
<username>user</username>
<password>pass</password>
</server>
</servers>
</settings>
值得一提的是,这是每个环境配置的一次性配置,而不是每次将一个 3rd 方 jar 添加到项目中时都必须安装你使用的每个 3rd 方 jar。使用这种方法,当你有一个新的第 3 方 jar 时,你只需将它部署到 repo 管理器,通过他们的 Web UI,或使用命令:
mvn deploy:deploy-file -DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<type-of-packaging> \
-Dfile=<path-to-file> \
-DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
-Durl=<url-of-the-repository-to-deploy>
(此处有更多详细信息 https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html)
第二种方法 将简单地添加指向 pom.xml 所在的相对路径的依赖项,如下所示:
<dependency>
<artifactId>..</artifactId>
<groupId>..</groupId>
<scope>system</scope>
<systemPath>${basedir}/lib/dependency.jar</systemPath>
</dependency>
选择这个而不是安装的理由再次是方便共享此代码库的每个人。您只需将 jar 上传到您的代码存储库,并将依赖项指向该位置,没有人需要 install/run 任何东西来编译项目。