Cha*_*esC 5 sql-server gradle maven build.gradle
我目前正致力于将我们的一个Maven项目转换为使用Gradle.这是我目前面临的问题:
该项目使用SQL Integrated安全性.以下是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>
Run Code Online (Sandbox Code Playgroud)
运行后,gradle init --type pom
这个特定的dependency
转换为这样的东西:
system group: 'com.microsoft.jdbcdriver', name: 'sqljdbc', version:'4.0.1'
Run Code Online (Sandbox Code Playgroud)
这是不对的.Gradle无法建立.更具体地说,system
范围甚至不存在于Gradle的API中(我都没有在任何第三方Gradle插件中找到它).
任何有Gradle SQL集成安全性经验的人都会非常感激.
小智 2
system
通过添加配置,可以非常轻松地使用 Gradle 模拟作用域。
创建配置system
并将其设置为编译类路径。添加到的任何依赖项system
现在都可以在编译期间使用(尽管我怀疑您需要特定的 JDBC 驱动程序进行编译),但是 中的依赖项system
不会添加到模块的已发布依赖项中:
configurations {
system.extendsFrom compile
}
sourceSets {
main {
compileClasspath = configurations.system
}
}
Run Code Online (Sandbox Code Playgroud)
现在您可以轻松地将 JDBC 驱动程序的 JAR 添加到system
配置中。这假设您仍然想引用本地文件,就像使用 Maven 一样:
dependencies {
system files('libs/sqljdbc-4.0.1.jar')
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您在(本地)存储库中有 JAR,那么最好使用该存储库:
dependencies {
system 'com.microsoft.jdbcdriver:sqljdbc:4.0.1'
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3400 次 |
最近记录: |