公司交通项目weblogic11g(10.3.6)部署war包时,报错javax.persistence.UniqueConstraint.name()Ljava/lang/String

时间:2024-04-10 18:59:35

exception is java.lang.NoSuchMethodError: javax.persistence.UniqueConstraint.name()Ljava/lang/String

参照处理思路来自:https://blog.csdn.net/chs_jdmdr/article/details/7547434

1. 开始觉得是jar包冲突,找javax.persistence.UniqueConstraint相同的路径的类,没找到;然后各种删除jar,没用

2.解决办法是要把war包打包成ear包的形式部署:

步骤1: 新建EJB-Project

公司交通项目weblogic11g(10.3.6)部署war包时,报错javax.persistence.UniqueConstraint.name()Ljava/lang/String
直接finish:

公司交通项目weblogic11g(10.3.6)部署war包时,报错javax.persistence.UniqueConstraint.name()Ljava/lang/String
下面是项目实际的目录:

公司交通项目weblogic11g(10.3.6)部署war包时,报错javax.persistence.UniqueConstraint.name()Ljava/lang/String

步骤2:在bbb/EarContent 下新建目录META-INF;将需要发布的war包拷贝到该目录的同级目录下。

步骤3:在META-INF下新建两个文件:application.xml 和weblogic-application.xml ,具体内容如下:

application.xml的内容:
<?xml version="1.0" encoding="UTF-8"?>
<application id="wlsEAR0911" version="1.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
    <display-name>wls</display-name> 显示名称,不讲究
    <module id="WebModule_bwp">
        <web>
            <web-uri>bwp0911.war</web-uri> 你的war包,不要配错了
            <context-root>bwp</context-root> 你的访问路径,不要配错了
        </web>
    </module>
</application>
weblogic-application.xml 这个文件可以不修改
<?xml version="1.0"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <application-param>
        <param-name>webapp.encoding.default</param-name>
        <param-value>UTF-8</param-value>
    </application-param>
    <prefer-application-packages>
        <package-name>org.apache.commons.*</package-name>    
        <package-name>antlr.*</package-name>
        <package-name>javax.persistence.*</package-name>
    </prefer-application-packages>
</weblogic-application> 

步骤3:打包成ear包:

右键-export -- 选择ear file:

公司交通项目weblogic11g(10.3.6)部署war包时,报错javax.persistence.UniqueConstraint.name()Ljava/lang/String

ear包制作完成。

3. 在weblogic的console下部署ear包,这个跟其他的war包部署一样。第一次直接war包失败,改成ear包,部署成功。

公司交通项目weblogic11g(10.3.6)部署war包时,报错javax.persistence.UniqueConstraint.name()Ljava/lang/String