如何在 Grails 4.0.3 中导入专有库
Posted
技术标签:
【中文标题】如何在 Grails 4.0.3 中导入专有库【英文标题】:How to import a proprietary library in Grails 4.0.3 【发布时间】:2021-12-30 08:26:01 【问题描述】:我正在尝试在我的 grails 4.0.3 项目中导入专有 jar 库 (ICOMConector.jar),但它向我发送了一个错误。
在 IntelliJ 中,我右键单击项目文件夹并访问打开模块设置。然后我点击图书馆并选择我的罐子。之后,单击 Module / Dependencies 并在编译范围中选择该 jar。
在 build.gradle 文件中我放了这个 flatDir,因为我项目中的 jar 是标准结构:
repositories
maven url "https://repo.grails.org/grails/core"
flatDir
dirs 'lib'
这在同一个 build.gradle 中,我已经尝试了所有这些,包括现在评论的那些, 但错误仍然存在。
dependencies
//implementation name: 'lib/ICOMConector.jar'
//runtime files('lib/ICOMConector.jar')
//runtime fileTree(dir: 'lib', include: '*.jar')
compile fileTree(dir: 'lib', include: ['*.jar'])
当我在命令行中发送 grails run-app 时,错误是:
| Running application...
startup failed:
/media/alfredo/1TBHDD/CMB/Code projects/Grails 4/detran-mspid/grails-app/init/detran/mspid/BootStrap.groovy: 5: unable to resolve class com.workers.icom.ICOMConector
**@ line 5, column 1.
import com.workers.icom.ICOMConector
^
1 error**
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileGroovy'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
我尝试在 Bootstrap.groovy 中实例化该类,以便更轻松地验证它是否按预期工作。
谁能帮我导入这个库。我的一个朋友在一个 Spring boot 项目中做了这个并且它成功了,所以问题似乎是 Grails 中的错误配置。
package detran.mspid
import com.workers.icom.ICOMConector
class BootStrap
def init = servletContext ->
ICOMConector icom = new ICOMConector()
def destroy =
【问题讨论】:
这可能是一个愚蠢的问题...但是该类是否拼写错误为ICOMConector
或者您是否正在导入该类的拼写错误版本?
我无法重现您所描述的行为。
@Trebla,感谢您的评论。 ICOMConector 只有一个 n,因为它是葡萄牙语。
【参考方案1】:
这就是我在我的build.gradle
中使用 grails 4.0.3 中的库的内容(不过至少从 grails 3 开始就是这种方式)。这与您使用runtime
范围尝试的几乎相同。
compile files("lib/opencsv-2.3.jar")
runtimeOnly fileTree(dir: './lib', include: ['*.jar'])
完全有可能其中一个或两个都是不必要的......
【讨论】:
编译fileTree(dir: 'lib', include: ['*.jar'])以上是关于如何在 Grails 4.0.3 中导入专有库的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用库的eclipse中导入android studio项目?
如何从库中导入组件(在 nrwl/nx 中使用 Angular)
如何使用 Java Native Interface 在 C++ 中导入 python 库 - Android Studio