- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试向 Liferay 添加外部库 - Orika 库。
我在 build.gradle 中添加了 Gradle 依赖项,如下所示:
compileInclude group: 'ma.glasnost.orika', name: 'orika-core', version: '1.5.4'
我正在使用编译包含,以便模块也附加依赖项。
该库在本地运行良好 - 我已经使用类中的 main 方法对其进行了测试,但是当我部署到 Portal 时,我收到以下错误:
org.osgi.framework.BundleException: Could not resolve module: <YourModuleName> [2755]_ Unresolved requirement: Import-Package: com.google.common.base_ [Sanitized]
这似乎是由于运行时缺少库引起的,但不太清楚的是,如果当我在 public static main
内运行它时,它会按预期工作,为什么会在构建时添加这些依赖项?另外,我检查了 Eclipse 中下载的 libs Gradle 是否有任何带有 com.google.commom.base
的包,但没有发现。
因此,因为构建时完成了其他一些步骤,所以我检查了生成的 jar 中的 MANIFEST.MF(例如 eclipse-workspace
com.google.commom.base
从文件。错误消失了,但又出现了另一个错误:
org.osgi.framework.BundleException: Could not resolve module: <your_module_name> [2755]_ Unresolved requirement: Import-Package: com.sun.jdi_ [Sanitized]
所以,问题是 - 为什么添加这些依赖项以及如何删除或满足它们? - 鉴于我在 Eclipse 中没有它们,那么我会放弃它们.
最佳答案
这是我花了几个小时后得出的结论:
对于外部 jar,compileInclude
策略的表现并不像我预期的那样 - 也许是一个很好的引导,但我按照下面详细的步骤进行了操作。
在我的情况下,仅使用 compileOnly
当包含依赖项时效果更好。因此,第一步 - 将以下内容添加到您的 build.gradle
中:
compileOnly group: 'ma.glasnost.orika', name: 'orika-core', version: '1.5.4'
在第二步中,您必须在 bnd.bnd
中注明归档外部 jar 需要的其他依赖项。就我而言(Orika lib),它需要以下列表:commons-compiler-3.0.8.jar,janino-3.0.8.jar,java-sizeof-0.0.5.jar,javassist-3.24.0-GA.jar ,paranamer-2.8.jar,@slf4j-api-1.7.26.jar - 我已经检查了存储库详细信息以便找到这一点并从那里获取信息(例如:来自 here )。那么,添加到 build.gradle
后我必须做什么是在bnd.bnd
中添加以下行:
Include-Resource: @orika-core-1.5.4.jar,@commons-compiler-3.0.8.jar,@janino-3.0.8.jar,@java-sizeof-0.0.5.jar,@javassist-3.24.0-GA.jar,@paranamer-2.8.jar,@slf4j-api-1.7.26.jar
最后一步是排除构建过程放置在 MANIFEST.MF
中的包。文件 - 我在这里谈论以 Unresolved requirement ...
开头的问题。为了知道不需要什么,我部署了多次,每次我都将所需的包添加到 Import-Package
列表(这是 bnd.bnd
文件中的另一个属性)。最终的名单是:
Import-Package: \
!com.sun.jdi.*,\
!com.sun.tools.attach,\
!com.google.common.base,\
!org.slf4j.impl,\
*
关于java - Unresolved 要求 : Import-Package: com. google.common.base,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64938169/
节点版本:v6.11.0 错误信息: Unable to resolve path to module './coins.json'. (import/no-unresolved) 我还附上错误的屏幕
我的 flutter 应用程序运行良好,直到我停止成功构建的日子 android/app/src/main/kotlin/com/apps/myapp/MainActivity.kt 文件 packa
我在使用 kotlin 版本 1.3.41 的 kotlin 项目中遇到问题 Unresolved reference :我无法找出为什么会出现该问题?。我也降级了 kotlin 版本但没有效果。 当
在编译我的代码时,我收到此错误。 1>MSVCRTD.lib(crtexe.obj):错误 LNK2019:函数 ___tmainCRTStartup 中引用了未解析的外部符号 _main1>C:\U
我一直遇到这两个错误,但我似乎找不到有效的解决方案。 LNK1120: 1 unresolved externals Error 1 error LNK2019: unresolved externa
我想使用 SQLite,但出现 Unresolved -* 错误。以下是我所做工作的总结: 这是三个目录: 源文件 -->include -->src -->sqlite3 我已将以上三个目录全部添加
我在尝试构建时收到以下错误: 1> MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 r
我在构建程序时不断收到“未解析的外部符号”错误。但是,该程序编译正常。我正在使用 GLFW 和 GLAD 库。 #include #include #include void framebuff
我是谷歌测试框架的新手。这是我的第一个谷歌测试测试项目。我做了像这个网站http://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php这样
当我尝试编译我的代码时,我遇到了两个错误。我已经定义了 win32 控制台应用程序。我什至还没有开始编码。我的配置如下 - 链接器 - 子系统 - 控制台;链接器 - 高级 - 入口点 - 空白。
我尝试构建我的应用程序,但失败了,仅显示一条消息: Failed to resolve: play-services-basement 我的应用程序昨天成功构建。自昨天成功构建以来,没有代码更改。我的
任务是找到所有可表示为两个自然数的开方之和的二值数。我试试这个: func = [sqrt (x) + sqrt (y) | x a -> a mod :: Integral a => a -> a
Kotlin: Unresolved reference: totalFee 我只是在做这个小虚拟程序来练习,但它说totalFee尝试将值打印到屏幕时未解决。我已经看了一段时间了,不知道为什么。da
我正在编写一个小程序来判断字符串数组向前和向后读取是否相同。现在我的程序应该返回 false。我遇到了一些困难,因为当我扫描数组时,我希望第二个 for 循环扫描第一个 for 循环所在的相同索引,但
请问有人可以针对我的问题发布错误更正并经过测试的代码吗?程序确实 - 22.php 具有以下形式。当用户输入并单击“提交”按钮时,结果应从 23.php 中获取并显示在 22.php 上的 div 中
当我编译它时给出错误信息: usimage.cpp Generating Code... Linking... Creating library .\Output/gci2.lib and ob
我有以下项目文件: //connections.cpp #include "stdafx.h" #include "LibraryHeaders.h" #include "FileManager.h"
我正在写一个游戏,但我遇到了一个问题,导致“C++ Unresolved external 问题” ** 我的类(class):** Terrain.h Class Terrain {}; 物理对象.
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我正在使用 Visual Studio 2012 完成编程原则和实践中的练习。尝试编译下面的源代码时,我遇到了链接器错误: unresolved symbol int foo. 我不明白为什么符号没有
我是一名优秀的程序员,十分优秀!