[英]Cannot cast object 'url' with class 'java.lang.String' to class 'int' Gradle Java
我正在嘗試將gradle.properties讀取到我的build.gradle中。 我已經在屬性文件中定義了一些參數值,現在想將這些值傳遞給參數。 這樣它將把這個參數值傳遞給我的主方法。 但是我收到以下錯誤:
group 'org.name'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'groovy'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile "joda-time:joda-time:2.2"
// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.6'
// https://mvnrepository.com/artifact/org.dbunit/dbunit
compile group: 'org.dbunit', name: 'dbunit', version: '2.4.7'
compile "org.slf4j:slf4j-simple:1.7.9";
}
task runApp(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'ExportDatatoXML'
println url
println username
println password
println folderPath
// arguments to pass to the application
args
[project.property('url'),project.property('username'),
project.property('password'),project.property('folderPath')]
}
這是我的build.gradle文件
gradle.properties文件是:
url =jdbc:mysql://127.0.0.1:3306/name
username =root
password =name
folderPath =C:/Users/name/Desktop/DataBase/
錯誤如下:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\name\IdeaProjects\HelloWorld\build.gradle' line: 36
* What went wrong:
A problem occurred evaluating root project 'AI'.
> Cannot cast object 'jdbc:mysql://127.0.0.1:3306/name' with class
'java.lang.String' to class 'int'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info
or --debug option to get more log output.
BUILD FAILED
Total time: 12.448 secs
Cannot cast object 'jdbc:mysql://127.0.0.1:3306/name' with class
'java.lang.String' to class 'int'
13:01:41: External task execution finished 'build'
JavaExec.args
是一個列表,因此args[<anything>]
被解釋為“類似數組的訪問”,因此必須為整數,但您可以給它一個字符串。
更換
args
[project.property('url'),project.property('username'),
project.property('password'),project.property('folderPath')]
具有以下之一:
args
([project.property('url'),project.property('username'),
project.property('password'),project.property('folderPath')])
args project.property('url'), project.property('username'),
project.property('password'), project.property('folderPath')
args project.url, project.username, project.password, project.folderPath
args url, username, password, folderPath
所有都應該是等效的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.