获取 ivy 管理的依赖项的 jar 路径的命令
Command to get paths to jars for ivy-managed dependencies
有没有办法获取 ivy 管理的依赖项的 JAR 文件路径,以便可以从命令行调用程序并且 JAR 文件都正确包含在 class 路径中。
类似的东西(对于 Linux bash 和类似的脚本):
java -cp `ivyget.sh ivy.xml`
然后可以扩展到
java -cp "/path/to/first.jar:/path/to/second.jar"
这样的事情可能吗?
Ivy 可以独立使用,参见 documentation。我在下面包含了一个例子。
虽然这是一个很棒的功能,但我更喜欢只使用 ivy 进行下载。如果您的 java 程序有选项(例如 -option1 或 --option2),那么 ivy 无法正确解析命令行。
例子
以下项目用于使用 liquibase
管理数据库模式
├── changesets
│ └── scottTiger.xml
├── ivy.xml
├── liquibase.properties
└── liquibase.sh
项目由运行 shell 脚本执行
./liquibase.sh update
liquibase.sh
#!/bin/bash
java -jar $HOME/.ant/lib/ivy.jar \
-error \
-ivy ivy.xml \
-main liquibase.integration.commandline.Main \
-args $@
ivy.xml
ivy 文件将 liquibase 和 H2 数据库项目作为依赖项拉入
<ivy-module version="2.0">
<info organisation="com.myspotontheweb" module="demo"/>
<dependencies>
<dependency org="org.liquibase" name="liquibase-core" rev="latest.release" conf="default"/>
<dependency org="com.h2database" name="h2" rev="latest.release" conf="default"/>
</dependencies>
</ivy-module>
liquibase.properties
运行-时间配置文件,其中DB类型设置为H2。
url=jdbc:h2:./db/scottTiger
driver=org.h2.Driver
username=user
password=pass
changeLogFile=changesets/scottTiger.xml
logLevel=info
有没有办法获取 ivy 管理的依赖项的 JAR 文件路径,以便可以从命令行调用程序并且 JAR 文件都正确包含在 class 路径中。
类似的东西(对于 Linux bash 和类似的脚本):
java -cp `ivyget.sh ivy.xml`
然后可以扩展到
java -cp "/path/to/first.jar:/path/to/second.jar"
这样的事情可能吗?
Ivy 可以独立使用,参见 documentation。我在下面包含了一个例子。
虽然这是一个很棒的功能,但我更喜欢只使用 ivy 进行下载。如果您的 java 程序有选项(例如 -option1 或 --option2),那么 ivy 无法正确解析命令行。
例子
以下项目用于使用 liquibase
管理数据库模式├── changesets
│ └── scottTiger.xml
├── ivy.xml
├── liquibase.properties
└── liquibase.sh
项目由运行 shell 脚本执行
./liquibase.sh update
liquibase.sh
#!/bin/bash
java -jar $HOME/.ant/lib/ivy.jar \
-error \
-ivy ivy.xml \
-main liquibase.integration.commandline.Main \
-args $@
ivy.xml
ivy 文件将 liquibase 和 H2 数据库项目作为依赖项拉入
<ivy-module version="2.0">
<info organisation="com.myspotontheweb" module="demo"/>
<dependencies>
<dependency org="org.liquibase" name="liquibase-core" rev="latest.release" conf="default"/>
<dependency org="com.h2database" name="h2" rev="latest.release" conf="default"/>
</dependencies>
</ivy-module>
liquibase.properties
运行-时间配置文件,其中DB类型设置为H2。
url=jdbc:h2:./db/scottTiger
driver=org.h2.Driver
username=user
password=pass
changeLogFile=changesets/scottTiger.xml
logLevel=info