我们使用以下包中的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软件包,我仍然无法编译我的项目.
任何人都可以帮我找到并纠正我犯的错误吗?
编辑
在从评论中关注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. * import错误.
<dependency> <groupId>com.ibm.websphere.ws</groupId> <artifactId>com.ibm.ws.runtime</artifactId> <version>1.0.0</version> </dependency>
但它仍然无法编译,因为现在无法找到间接引用(在我的例子中是commonj.work.WorkManager).似乎我需要为每一件事添加更多.jars.在上面的链接教程中使用com.ibm.toolsdependency(它不起作用),是否有一种更简单的方法可以立即提供所有的websphere jar?
解决方法
但是,com.ibm.ws包通常是产品内部.请问com.ibm.ws.asynchbeans包中使用的接口方法是什么?也许有一个公共API替代方案.
关于commonj.work,我在WebSphere Application Server产品映像中唯一可以找到它的地方是WAS / plugins / com.ibm.ws.prereq.commonj-twm.jar所以看起来你需要使用它来编译.