bis*_*ish 7 java maven websphere-8
我正在尝试将使用IBM websphere 8.0.0.5的"经典"JAVA EE项目转换为maven多模块项目,并面临IBM家属的问题.
我们使用以下包中的IBM类:
为了编译我的本地项目,我从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"
Run Code Online (Sandbox Code Playgroud)
根据命令行输出,此步骤成功.
然后,我将以下依赖项添加到我的项目中,如IBM所述:
在父母:
<dependency>
<groupId>com.ibm.tools.target</groupId>
<artifactId>was</artifactId>
<version>8.0.0</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在模块中:
<dependency>
<groupId>com.ibm.tools.target</groupId>
<artifactId>was</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但由于找不到IBM软件包,我仍然无法编译我的项目.
任何人都可以帮我找到并纠正我犯的错误吗?
编辑
在从评论中关注BevynQ提示之后,我将"was_public.jar"复制到"was_public-8.0.0.jar"(在IBM这里描述)并将其添加到我的存储库中:
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"
Run Code Online (Sandbox Code Playgroud)
然后我将依赖项更改为:
<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>
Run Code Online (Sandbox Code Playgroud)
这有助于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>
Run Code Online (Sandbox Code Playgroud)
但它仍然没有编译,因为现在无法找到间接引用(在我的情况下commonj.work.WorkManager).似乎我需要为每一件事添加更多.jars.是否有一种更简单的方法可以一次性提供所有的websphere jar作为上述链接教程中的com.ibm.tools依赖(不起作用)?
这是解决方案,所以我解决了我的依赖问题:
pom.xml(提取到属性的版本号)中的依赖项:
<dependency>
<groupId>com.ibm.websphere.ws</groupId>
<artifactId>com.ibm.ws.runtime</artifactId>
<version>${ibm.ws.runtime.version}</version>
</dependency>
<dependency>
<groupId>com.ibm.ws.prereq</groupId>
<artifactId>commonj-twm</artifactId>
<version>${ibm.ws.prereq.commonj-twm.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
抱歉,我无法提供一个可供所有人使用的“好”解决方案,但njr的答案和BevynQ的评论在很大程度上帮助我们更清楚地解决问题,并通过复制以“更手动”的方式帮助解决问题手工所需的罐子。