是否有办法获取常春藤管理的依赖项的JAR文件的路径,以便可以从命令行调用程序,并且JAR文件都正确地包含在类路径中。
有些事情(对于Linux bash和类似的脚本):
java -cp `ivyget.sh ivy.xml`
然后可以扩展到
java -cp "/path/to/first.jar:/path/to/second.jar"
这样的事情可能吗?
答案 0 :(得分:0)
Ivy可以独立使用,请参阅documentation。我在下面列举了一个例子。
虽然这是一个漂亮的功能,但我更喜欢使用常春藤进行下载。如果您的java程序有选项(例如-option1或--option2),则ivy无法正确解析命令行。
以下项目用于使用liquibase
管理数据库架构├── changesets
│ └── scottTiger.xml
├── ivy.xml
├── liquibase.properties
└── liquibase.sh
通过运行shell脚本
来执行项目./liquibase.sh update
#!/bin/bash
java -jar $HOME/.ant/lib/ivy.jar \
-error \
-ivy ivy.xml \
-main liquibase.integration.commandline.Main \
-args $@
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>
运行时配置文件,其中DB类型设置为H2。
url=jdbc:h2:./db/scottTiger
driver=org.h2.Driver
username=user
password=pass
changeLogFile=changesets/scottTiger.xml
logLevel=info