Gradle 具有集成 SQL 安全性
Gradle with Integrated SQL Security
我目前正在努力将我们的 Maven 项目之一转换为使用 Gradle。
这是我目前面临的问题:
此项目正在使用 SQL 集成安全性。下面是 Maven 的处理方式(我们花了一些时间才弄明白):
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/sqljdbc4.jar</systemPath>
</dependency>
在 运行 gradle init --type pom
之后
这个特定的 dependency
已经转换成这样的东西:
system group: 'com.microsoft.jdbcdriver', name: 'sqljdbc', version:'4.0.1'
这是不对的。 Gradle 无法构建。更具体地说,system
范围甚至不存在于 Gradle 的 API 中(我也没有在任何第三方 Gradle 插件中找到它)。
任何在 Gradle SQL 集成安全方面有任何经验的人都将不胜感激。
通过添加配置可以很容易地用 Gradle 模拟作用域 system
。
创建配置 system
并将其设置为编译类路径。添加到 system
的任何依赖项现在在编译期间可用(尽管我怀疑您需要特定的 JDBC 驱动程序进行编译),但是 system
中的依赖项不会添加到已发布的依赖项中模块的:
configurations {
system.extendsFrom compile
}
sourceSets {
main {
compileClasspath = configurations.system
}
}
现在您可以轻松地将 JDBC 驱动程序的 JAR 添加到 system
配置中。这假设您仍然想像使用 Maven 一样引用本地文件:
dependencies {
system files('libs/sqljdbc-4.0.1.jar')
}
但是如果您在(本地)存储库中有 JAR,最好使用存储库:
dependencies {
system 'com.microsoft.jdbcdriver:sqljdbc:4.0.1'
}
我目前正在努力将我们的 Maven 项目之一转换为使用 Gradle。
这是我目前面临的问题:
此项目正在使用 SQL 集成安全性。下面是 Maven 的处理方式(我们花了一些时间才弄明白):
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/sqljdbc4.jar</systemPath>
</dependency>
在 运行 gradle init --type pom
之后
这个特定的 dependency
已经转换成这样的东西:
system group: 'com.microsoft.jdbcdriver', name: 'sqljdbc', version:'4.0.1'
这是不对的。 Gradle 无法构建。更具体地说,system
范围甚至不存在于 Gradle 的 API 中(我也没有在任何第三方 Gradle 插件中找到它)。
任何在 Gradle SQL 集成安全方面有任何经验的人都将不胜感激。
通过添加配置可以很容易地用 Gradle 模拟作用域 system
。
创建配置 system
并将其设置为编译类路径。添加到 system
的任何依赖项现在在编译期间可用(尽管我怀疑您需要特定的 JDBC 驱动程序进行编译),但是 system
中的依赖项不会添加到已发布的依赖项中模块的:
configurations {
system.extendsFrom compile
}
sourceSets {
main {
compileClasspath = configurations.system
}
}
现在您可以轻松地将 JDBC 驱动程序的 JAR 添加到 system
配置中。这假设您仍然想像使用 Maven 一样引用本地文件:
dependencies {
system files('libs/sqljdbc-4.0.1.jar')
}
但是如果您在(本地)存储库中有 JAR,最好使用存储库:
dependencies {
system 'com.microsoft.jdbcdriver:sqljdbc:4.0.1'
}