sc_*_*ray 1 java jar build javac gradle
我试图编译和打包我的Java应用程序,但我在尝试指定我的本地存储库时遇到问题,我将在其中使用我的jar作为依赖项.我在'/ home/test/lib'中存储了我的应用程序所需的所有jar.我的build.gradle文件如下所示:
apply plugin:'application'
apply plugin:'java'
apply plugin:'idea'
def repositoryPath = '/home/test/lib'
repositories {
repositoryPath
}
dependencies {
"org.springframework:spring-orm:3.0.2.RELEASE"
"org.springframework:spring-context-support:3.0.2.RELEASE"
'commons-dbcp:commons-dbcp:1.4'
'org.apache.ibatis:ibatis-sqlmap:2.3.4.726'
'commons-dbutils:commons-dbutils:1.3'
'joda-time:joda-time:1.6'
'commons-lang:commons-lang:2.5'
'com.google.collections:google-collections:1.0'
}
jar {
baseName = 'testJar'
}
mainClassName = "com.some.test.testRunner"
Run Code Online (Sandbox Code Playgroud)
当我运行gradle build时,我得到"package*not exists"错误.
我的假设是gradle没有在我的lib文件夹中找到必需的外部jar.有人可以指出我在这里做错了什么.
谢谢
关于你的构建文件的一些评论.我假设你在'/ home/test/lib'中有一个包含你的第三方库的平面目录?如果是这种情况,您可以使用flatDir存储库,该存储库使用以下语法声明:
def repositoryPath = '/home/test/lib'
repositories {
flatDir {
dirs repositoryPath
}
}
Run Code Online (Sandbox Code Playgroud)
如果/ home/test/lib是常春藤存储库,您可以:
repositories {
ivy {
url repositoryPath
}
}
Run Code Online (Sandbox Code Playgroud)
Gradle用户指南中对此进行了详细说明.
在你的'dependencies'部分中,你错过了声明依赖项的范围(编译,运行时等):
dependencies {
compile "org.springframework:spring-orm:3.0.2.RELEASE"
compile "org.springframework:spring-context-support:3.0.2.RELEASE"
compile 'commons-dbcp:commons-dbcp:1.4'
compile 'org.apache.ibatis:ibatis-sqlmap:2.3.4.726'
compile 'commons-dbutils:commons-dbutils:1.3'
compile 'joda-time:joda-time:1.6'
compile 'commons-lang:commons-lang:2.5'
compile 'com.google.collections:google-collections:1.0'
}
Run Code Online (Sandbox Code Playgroud)
如果使用flatdir存储库,则通常会省略依赖关系定义的组:
dependencies {
compile ":spring-orm:3.0.2.RELEASE"
...
}
Run Code Online (Sandbox Code Playgroud)
有关使用gradle进行依赖关系处理的详细信息,请查看gradle用户指南:http://gradle.org/docs/current/userguide/userguide_single.html#artifact_dependencies_tutorial
问候,René
| 归档时间: |
|
| 查看次数: |
5827 次 |
| 最近记录: |