【发布时间】:2016-04-12 05:12:58
【问题描述】:
我正在尝试将使用 IBM websphere 8.0.0.5 的“经典”JAVA EE 项目转换为 maven 多模块项目,并面临 IBM 依赖项的问题。
我们使用来自以下包的 IBM 类:
- com.ibm.websphere.asynchbeans
- com.ibm.websphere.scheduler
- com.ibm.websphere.ce.cm
- com.ibm.ws.asynchbeans
- com.ibm.ws.util.ThreadPool
为了编译我的本地项目,我从 IBM 下载了 was.installer-8.0.0.pm 并将其安装到我的 maven 中使用
mvn install -f "was.installer-8.0.0.pom" -D serverInstallationFolder="C:\Program Files (x86)\IBM\WebSphere\AppServer"
根据命令行输出,这一步是成功的。
然后我按照 IBM 的描述将以下依赖项添加到我的项目中:
在父母中:
<dependency>
<groupId>com.ibm.tools.target</groupId>
<artifactId>was</artifactId>
<version>8.0.0</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
在模块中:
<dependency>
<groupId>com.ibm.tools.target</groupId>
<artifactId>was</artifactId>
</dependency>
但我仍然无法编译我的项目,因为找不到 IBM 包。
谁能帮我找出并纠正我犯的错误?
编辑
按照 cmets 的 BevynQ 提示后,我将“was_public.jar”复制到“was_public-8.0.0.jar”(在IBM here 中描述)并将其添加到我的存储库中:
mvn install:install-file -Dfile="C:\Program Files (x86)\IBM\WebSphere\AppServer\dev\was_public-8.0.0.jar" -DpomFile="C:\Program Files (x86)\IBM\WebSphere\AppServer\dev\was_public-8.0.0.pom"
然后我将依赖项更改为:
<dependency>
<groupId>com.ibm.websphere.appserver</groupId>
<artifactId>was_public</artifactId>
<version>8.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.ibm.websphere.appserver</groupId>
<artifactId>was</artifactId>
</dependency>
这有助于完成导入到 com.ibm.websphere 的编译错误。
我现在仍然打开的是包com.ibm.ws.* 包。有人有想法吗?
编辑 2
我添加了以下依赖项,然后我摆脱了 com.ibm.ws.* 导入错误。
<dependency>
<groupId>com.ibm.websphere.ws</groupId>
<artifactId>com.ibm.ws.runtime</artifactId>
<version>1.0.0</version>
</dependency>
但它仍然无法编译,因为现在无法找到间接引用(在我的情况下为 commonj.work.WorkManager)。看来我需要为每一件事添加更多的 .jars。没有更简单的方法来一次性提供所有 websphere jar,如上述链接教程中的描述,com.ibm.toolsdependency(不起作用)?
【问题讨论】:
-
我认为这行不通。您想将所需的库安装到本地商店。 maven.apache.org/guides/mini/guide-3rd-party-jars-local.html。 POM 还不够
-
在尝试了您的建议后,我已经编辑了我的问题,我可以编译
com.ibm.websphere包,但仍然缺少几个com.ibm.ws包。有谁知道怎么弄?
标签: java maven websphere-8