使用DB2JAR在maven构建过程中运行junits

使用DB2JAR在maven构建过程中运行junits,maven,junit,containers,openjpa,embeddable,Maven,Junit,Containers,Openjpa,Embeddable,我正在开发一个基于java的webapp,其中我使用WebSphereJAX-RS实现,EJB作为中间层,OpenJPA作为DAO层,DB2作为后端用于数据持久性。我还为代码编写junits。我在eclipse工作区中运行junits,因为我在bean中使用依赖性注入注释,所以我利用websphere提供的轻量级嵌入式容器jar使junits快速启动和运行。我提供这个jar作为java代理,如下所示: 由于在DAO操作的测试中还需要DB2 JAR,因此我将这些JAR提供为: 我终于可以运行我

我正在开发一个基于java的webapp,其中我使用WebSphereJAX-RS实现,EJB作为中间层,OpenJPA作为DAO层,DB2作为后端用于数据持久性。我还为代码编写junits。我在eclipse工作区中运行junits,因为我在bean中使用依赖性注入注释,所以我利用websphere提供的轻量级嵌入式容器jar使junits快速启动和运行。我提供这个jar作为java代理,如下所示:

由于在DAO操作的测试中还需要DB2 JAR,因此我将这些JAR提供为:

我终于可以运行我的junits了

但是当我单独运行junit时,我会遵循这种方法。现在,我计划在maven构建过程(maven安装-e)中运行所有junits。我提供了所需的依赖项,如:

    <!--added for junit testing -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.ibm.websphere</groupId>
        <artifactId>was-embeddableContainer</artifactId>
        <version>8.0.0</version>
        <scope>test</scope>         
    </dependency>   
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc</artifactId>
        <version>8.1.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc_license_cu</artifactId>
        <version>8.1.1</version>
        <scope>test</scope>         
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc4</artifactId>
        <version>8.1.1</version>
        <scope>test</scope>
    </dependency>   
    <!-- end -->

朱尼特
朱尼特
4.10
测试
com.ibm.websphere
这是一个很好的容器
8.0.0
试验
com.ibm.db2
db2jcc
8.1.1
测试
com.ibm.db2
db2jcc许可证
8.1.1
试验
com.ibm.db2
db2jcc4
8.1.1
测试
但在maven构建中,junits失败了,出现了一个奇怪的问题: org.apache.openjpa.persistence.ArgumentException:尚未增强类型“x.y.z.MyEntity”

我已经用尽了一切办法,但无法解决这个问题。 请帮帮我

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM 5724-H88, 5724-J08, 
5724-I63, 5655-W65, COPYRIGHT International Business Machines Corp., 2013 
All Rights Reserved * Licensed Materials - Property of IBM US Government 
Users Restricted Rights - Use, duplication or disclosure restricted by GSA 
ADP Schedule Contract with IBM Corp. -->
<project xmlns="http://maven.apache.org/POM/4.0.0"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0  http://maven.apache.org/xsd/maven-4.0.0.xsd">

<licenses>
    <license>
        <name>IBM International License Agreement for Non-Warranted Programs</name>
        <url>http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/</url>
        <distribution>repo</distribution>
        <comments>Additional notices http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/notices.html</comments>
    </license>
</licenses>

<modelVersion>4.0.0</modelVersion>

<groupId>com.test.febe</groupId>
<artifactId>FebeApplication</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>

<name>FebeApplication</name>
<url>http://maven.apache.org</url>

<properties>
    <was_home>${env.WAS8_HOME}</was_home>
</properties>

<dependencies>
    <!-- <dependency> <groupId>com.ibm.tools.target</groupId> <artifactId>was</artifactId> 
        <version>8.5.5</version> <type>pom</type> <scope>provided</scope> </dependency> -->

    <!-- added for websphere JPA -->
    <dependency>
        <groupId>com.ibm.websphere.ws</groupId>
        <artifactId>com.ibm.ws.jpa</artifactId>
        <version>8.0.0-FixPack-07</version>
        <scope>provided</scope>
    </dependency>
    <!-- end -->

    <!-- added for websphere j2ee -->
    <dependency>
        <groupId>com.ibm.websphere.j2ee</groupId>
        <artifactId>j2ee</artifactId>
        <version>8.0.0-FixPack-07</version>
        <scope>provided</scope>
    </dependency>
    <!-- end -->

    <!-- added for IBM PAI logging -->
    <dependency>
        <groupId>com.dcx.pai</groupId>
        <artifactId>logging</artifactId>
        <version>5.0.5</version>
    </dependency>
    <dependency>
        <groupId>com.dcx.pai</groupId>
        <artifactId>monitoring</artifactId>
        <version>5.0.5</version>
    </dependency>
    <dependency>
        <groupId>com.dcx.pai</groupId>
        <artifactId>usersecuritycontext</artifactId>
        <version>5.0.5</version>
    </dependency>
    <dependency>
        <groupId>com.dcx.pai</groupId>
        <artifactId>util</artifactId>
        <version>5.0.5</version>
    </dependency>
    <!-- end -->

    <!--added for dozer mapping -->
    <dependency>
        <groupId>net.sf.dozer</groupId>
        <artifactId>dozer</artifactId>
        <version>5.4.0</version>
    </dependency>
    <!-- end -->

    <!--added for junit testing -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.ibm.websphere</groupId>
        <artifactId>was-embeddableContainer</artifactId>
        <version>8.0.0</version>
        <scope>test</scope>         
    </dependency>   
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc</artifactId>
        <version>8.1.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc_license_cu</artifactId>
        <version>8.1.1</version>
        <scope>test</scope>         
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc4</artifactId>
        <version>8.1.1</version>
        <scope>test</scope>
    </dependency>   
    <!-- end -->

    <!--added for JSON Ignore -->
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.7.1</version>
    </dependency>
    <!-- end -->

    <!--added for DBSetUP -->
    <dependency>
        <groupId>com.ninja-squad</groupId>
        <artifactId>DbSetup</artifactId>
        <version>1.6.0</version>
    </dependency>
    <!--end -->

    <dependency>
        <groupId>javax.batch</groupId>
        <artifactId>javax.batch-api</artifactId>
        <version>1.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-openjpa</artifactId>
        <version>0.1</version>
    </dependency>

    <dependency>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-embedded</artifactId>
        <version>7.0.0.Final</version>
    </dependency>

</dependencies>

<build>
    <finalName>${project.name}</finalName>
    <outputDirectory>${project.basedir}\src\main\webapp\WEB-INF\classes</outputDirectory>
    <plugins>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.0.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>

        <!-- plugin added to skip test -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <skipTests>false</skipTests>
            </configuration>
        </plugin>
        <!-- end -->

    </plugins>
</build>

非担保程序的IBM国际许可协议
http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/
回购
附加通知http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/notices.html
4.0.0
com.test.febe
FEBEA应用
战争
0.0.1-快照
FEBEA应用
http://maven.apache.org
${env.WAS8_HOME}
com.ibm.websphere.ws
com.ibm.ws.jpa
8.0.0-FixPack-07
假如
com.ibm.websphere.j2ee
j2ee
8.0.0-FixPack-07
假如
com.dcx.pai
登录中
5.0.5
com.dcx.pai
监测
5.0.5
com.dcx.pai
usersecuritycontext
5.0.5
com.dcx.pai
利用率
5.0.5
net.sf.推土机
推土机
5.4.0
朱尼特
朱尼特
4.10
测试
com.ibm.websphere
这是一个很好的容器
8.0.0
试验
com.ibm.db2
db2jcc
8.1.1
测试
com.ibm.db2
db2jcc许可证
8.1.1
试验
com.ibm.db2
db2jcc4
8.1.1
测试
org.codehaus.jackson
杰克逊地图绘制者
1.7.1
忍者小队
数据库设置
1.6.0
javax.batch
javax.batch-api
1
假如
net.sf.ehcache
ehcache-openjpa
0.1
org.infinispan
infinispan嵌入式
7.0.0.1决赛
${project.name}
${project.basedir}\src\main\webapp\WEB-INF\classes
maven战争插件
2.1.1
假的
org.apache.maven.plugins
maven编译器插件
2.0.2
1.6
1.6
org.apache.maven.plugins
maven surefire插件
2.18.1
假的

错误跟踪:

原因:javax.ejb.EJBException:参见嵌套异常;嵌套异常为:org.apache.openjpa.persistence.ArgumentException:尚未增强类型“class com.test.febe.model.OrgUnit”。 原因:org.apache.openjpa.persistence.ArgumentException:未增强类型“class com.test.febe.model.OrgUnit”。 位于org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1827) 位于org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1801) 位于org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:825) 位于org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:722) 位于org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:646) 位于org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:414) 位于org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:387) 位于org.apache.openjpa.kernel.BrokerImpl.newObjectId(BrokerImpl.java:1246) 位于org.apache.openjpa.kernel.DelegatingBroker.newObjectId(DelegatingBroker.java:316) 位于org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:485) 在com.ibm.ws.jpa.management.jpatxeminholidage.find(jpatxeminholidage.java:223) 位于com.ibm.ws.jpa.management.JPAEntityManager.find(JPAEntityManager.java:195) 位于com.test.febe.commons.FebeGenericDAOImpl.find(FebeGenericDAOImpl.java:60) 请访问com.test.febe.org.dao.EJSLocal0SLOrgUnitDAOImpl_8ea44002.find(EJSLocal0SLOrgUnitDAOImpl_8ea44002.java) 位于com.test.febe.org.service.OrgUnitServiceImpl.findOrgUnit(OrgUnitServiceImpl.java:33) 在com.test.febe.org.service.EJSLocal0SLOrgUnitServiceImpl_d9270681.findOrgUnit(EJSLocal0SLOrgUnitServiceImpl_d9270681.java)上 位于com.test.febe.org.resources.OrgUnitResource.findOrgUnit(OrgUnitResource.java:44) 在com.test.febe.org.resources.EJSLocalNSLOrgUnitResource_94f17fdf.findOrgUnit(EJSLocalNSLOrgUnitResource_94f17fdf.java) 在com.test.febe上。