标签: weblogic12c

weblogic.application.ModuleException:上下文路径''已被模块使用:/ application:

当我试图运行weblogic服务器12c时,它抛出此错误,无法启动.

    <Apr 16, 2013 2:42:57 PM IST> <Warning> <HTTP> <BEA-101384> <WLServlet annotation is deprecated, please use servlet 3.0 annotation instead. App:acsportal@acs-portal.war, Class:oracle.adfinternal.view.faces.activedata.AdsServlet>
    <Apr 16, 2013 2:42:58 PM IST> <Error> <Deployer> <BEA-149205> <Failed to initialize the application "acsportal" due to error weblogic.application.ModuleException: Context path '' is already in use by the module: / application: acs-portal
    weblogic.application.ModuleException: Context path '' is already in use by the module: / application: acs-portal
            at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:732)
            at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:188)
            at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:83)
            at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
            at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:172)
            Truncated. see …
Run Code Online (Sandbox Code Playgroud)

java webserver weblogic weblogic12c

8
推荐指数
2
解决办法
7万
查看次数

Weblogic 12.2.1 + Java 8 + Spring Data JPA + Hibernate 5.x部署冲突

我正在尝试使用带有Hibernate 5.x和Spring-data-jpa 1.9.4的WebLogic 12.2.1部署EAR文件.在Weblogic 12.1.3上部署了相同的配置.JPA 2.1用于它们.

Weblogic正在抛出一个ClassNotFoundException查找QueryDsl库,该库对spring-data是可选的:

weblogic.management.DeploymentException: java.lang.ClassNotFoundException: com.mysema.query.types.path.PathBuilder
Run Code Online (Sandbox Code Playgroud)

Spring-data的清单甚至将此jar引用为可选.由于Oracle没有发布任何源代码,因此我无法完全调试问题.在我ApplicationContext实际初始化任何Spring连接之前,它似乎很久就会抛出一个错误.

相同的配置在Websphere 8.5.5上部署得很好.使用Weblogic 12.2.1似乎存在某种部署冲突,但我无法发现任何其他有意义的差异.有没有人遇到类似的东西?

weblogic java-8 spring-data-jpa weblogic12c hibernate-5.x

8
推荐指数
1
解决办法
2204
查看次数

RequestDispatcher在Weblogic 12c中以编程方式包含JSP的问题

我正在努力应对以下情况:

在我们当前运行在Tomcat 7.0.64上的Web应用程序中,我们设法通过Java在自己的类的帮助下包含一个JSP页面CharArrayWriterResponse implementing HttpServletResponseWrapper.

这样做的原因是我们将生成的HTML包装成AJAX响应所需的JSON.

依赖关系:

<dependency>
     <groupId>javax</groupId>
     <artifactId>javaee-web-api</artifactId>
     <version>7.0</version>
     <scope>provided</scope>
</dependency>
<dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>jstl</artifactId>
     <version>1.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

代码示例:

// somewhere in servlet doPost()/doGet()
try (PrintWriter out = response.getWriter()) {
     out.println(getJspAsJson(request, response));
}

private static String getJspAsJson(HttpServletRequest request, HttpServletResponse response) {
    String html = getHtmlByJSP(request, response, "WEB-INF/path/to/existing.jsp");
    Gson gson = new GsonBuilder().disableHtmlEscaping().create();
    return "{\"results\":" + gson.toJson(html) + "}";
}

public static String getHtmlByJSP(HttpServletRequest request, HttpServletResponse response, String jsp) {
     CharArrayWriterResponse customResponse = new CharArrayWriterResponse(response);
     request.getRequestDispatcher(jsp).include(request, customResponse);
     return customResponse.getOutput(); …
Run Code Online (Sandbox Code Playgroud)

java jsp weblogic tomcat7 weblogic12c

8
推荐指数
1
解决办法
887
查看次数

Weblogic 12.1.3.0.0 - Ehcache JMS复制 - InvalidExpressionException:Expression:"cacheManagerUniqueId

我有基于Spring的应用程序和Ehcache JMS复制.我需要将此应用程序部署到Weblogic 12,但是有以下错误导致部署失败:

javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException:
Expression : "cacheManagerUniqueId <> 600767500
Run Code Online (Sandbox Code Playgroud)

怎么了?

的weblogic-application.xml中

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.3/weblogic-application.xsd">

    <!--Configure the FilteringClassLoader to specify a certain package is loaded from an application-->

    <wls:prefer-application-packages>
        <!--<wls:package-name>javax.validation.*</wls:package-name>
        <wls:package-name>javax.validation.spi.*</wls:package-name>-->
        <wls:package-name>javax.persistence.spi.*</wls:package-name>
        <wls:package-name>javax.persistence.criteria.*</wls:package-name>
        <wls:package-name>javax.persistence.metamodel.*</wls:package-name>
        <wls:package-name>javax.persistence.*</wls:package-name>
        <wls:package-name>org.springframework.*</wls:package-name>
        <wls:package-name>org.hibernate.validator.*</wls:package-name>
        <wls:package-name>org.hibernate.*</wls:package-name>
        <wls:package-name>net.sf.ehcache.*</wls:package-name>
        <!--<wls:package-name>antlr.*</wls:package-name>-->
        <wls:package-name>org.codehaus.jackson.*</wls:package-name>
        <wls:package-name>com.fasterxml.jackson.*</wls:package-name>
        <wls:package-name>org.apache.log4j.*</wls:package-name>
        <wls:package-name>org.slf4j</wls:package-name>
        <!--ftp-->
        <wls:package-name>org.apache.commons.net.*</wls:package-name>
        <wls:package-name>org.apache.commons.lang.*</wls:package-name>

        <wls:package-name>com.thoughtworks.xstream.*</wls:package-name>
        <wls:package-name>com.google.*</wls:package-name>

    </wls:prefer-application-packages>

</wls:weblogic-application>
Run Code Online (Sandbox Code Playgroud)

Maven依赖:

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache-jmsreplication</artifactId>
    <version>0.5</version>
</dependency>
<dependency>
    <groupId>com.googlecode.ehcache-spring-annotations</groupId>
    <artifactId>ehcache-spring-annotations</artifactId>
    <version>1.2.0</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache-core</artifactId>
    <version>2.6.11</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId> …
Run Code Online (Sandbox Code Playgroud)

java ehcache weblogic12c

8
推荐指数
1
解决办法
327
查看次数

如何找出我的WebLogic正在使用的当前版本的Mojarra?

我正在尝试确定我的WebLogic 12c正在使用的当前版本的Mojarra.我该怎么知道呢?

jsf-2 mojarra weblogic12c

7
推荐指数
1
解决办法
3480
查看次数

在Weblogic12C上访问SpringBoot示例应用程序的新部署时出现问题

我将它部署到Weblogic12C后访问示例springBoot应用程序时遇到问题.使用springBoot嵌入式Tomcat服务器可以正常工作.

使用SpringBoot嵌入式Tomcat进行安装和测试:一切都很好

重现步骤:按照以下步骤获取springBoot"入门"应用程序代码:https://spring.io/guides/gs/spring-boot/

  • git clone https://github.com/spring-guides/gs-spring-boot.git
  • cd gs-spring-boot/complete /(我们将使用gr-spring-boot/complete目录,这样你就不必浏览上面的"入门"页面了(所有更改都在"完成"中完成) ").
  • 打开文件gs-spring-boot/complete/build.gradle并在其他"apply plugin"条目下添加"apply plugin:'war'"

此时,您可以通过运行gradle"bootRun"任务来验证一切正常,这些任务在嵌入式Tomcat服务器中启动应用程序.一旦tomcat启动,浏览到localhost:8080 /并看到你得到"来自Spring Boot的问候!"

现在让我们在Weblogic 12C上安装它

  • 运行"gradle war"(再次,从gs-spring-boot/complete /工作)你现在将在gs-spring-boot\complete\build\libs\complete.war下有一个war文件
    • 转到您的weblogic12C控制台.我没有对WL12C进行更改,因此控制台位于localhost:7001/console注意:我在一周前从Oracle站点下载了WL12C开发人员版本.我没有对它进行任何更改,如下载的那样.WL12C下载的开发版要求我们将它指向已安装的JDK.我的WL12C使用java版本:

      java版"1.7.0_45"Java(TM)SE运行时环境(版本1.7.0_45-b18)Java HotSpot(TM)服务器VM(版本24.45-b08,混合模式)

    • 在控制台中,部署war文件:
    • 点击"部署"
    • 点击"安装"
    • 浏览你"gs-spring-boot\complete\build\libs"目录
    • 选择complete.war旁边的单选按钮,然后点击下一步
    • 选择"安装为应用程序"并点击下一步
    • 保留所有选项[仅限DD,使用默认值,使用相同的辅助功能]并点击下一步
    • 点击完成

此时,您将看到应用程序部署正常: - 再次单击"部署",看到您的"完整"springBoot应用程序已列出并且活动 - 单击"完成"并在此页面上注意:"上下文根:/完成".注意:WebLogic文档说,如果有在weblogic.xml中没有定义上下文根,那么它使用war文件名(减去的.war)

现在,问题是:获得403:

如果您尝试访问localhost:7001 /完成的springBoot应用程序,则会获得403!

Error 403--Forbidden
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.4 403 Forbidden
The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request …
Run Code Online (Sandbox Code Playgroud)

java spring weblogic12c spring-boot

7
推荐指数
1
解决办法
4758
查看次数

Weblogic 12c:Jersey的首选web-inf-classes和prefer-application-packages

我必须 在Weblogic 12c服务器(12.2.1)上使用两者(奇怪的是......)" prefer-web-inf-classes "和" web- to -application-packages"的weblogic.xml属性

它是基于Jersey 1.9的REST应用程序.*(Jersey 1.x JAX-RS RI)和Guice.

1.为什么要使用:prefer-web-inf-classes

如果你有多个WAR,你必须在war/lib的级别放置guice-jersey/guice的库,否则你会得到Multibindings Error.

它必须表明prefer-web-inf-classes为true. 这种方式正常!我试图以相同的方式使用prefer-application-packages和package(com.sun.jersey.guice.spi.container.servlet /com.google.inject.servlet等等),但没办法.

注意:无法在EAR级别排除此库.

2.为什么要使用:prefer-application-packages

要在Weblogic 12c(12.2.1)上使用Jersey 1.x JAX-RS RI,所以我必须指出以下包(Weblogic使用Jersey 2的其他方式,以及不同版本的Jackson库等)

如果以这种方式表示,它在Jersey 1.X上完美运行..我已分别探讨了两场战争,并且工作得很好......但是,请记住我的朋友我有两场战争......所以....

摘要

我不能同时使用这两个属性(在weblogic.xml上使用这两个属性部署错误..),但它需要:

  1. 对于Guice Filter的问题,需要将prefer-web-inf-classes设置为true,以便在war-lib级别使用guice-servlet.jar/jersey-guice.jar.
  2. 要使用Jersey 1.x,需要使用..... prefer-application-package

问题:如何将两者结合使用其中之一?

java guice guice-servlet weblogic12c jersey-1.0

7
推荐指数
1
解决办法
9747
查看次数

在WebLogic 12.2.1上部署Spring Boot Websocket/STOMP应用程序时出错

我正在创建一个Spring Boot REST API,它利用WebSockets/STOMP使用SockJS将消息发送到Angular前端.我已经花了很大的力气让应用程序在WebLogic 12.2.1C中部署而不使用web.xml.我似乎很接近,但我正在使用的Spring Boot Web Socket实现存在问题.我想使用Spring Boot的实现,而不是WebLogics.当我尝试在WebLogic中部署war文件时,出现以下错误:

 <Could not load user defined filter in web.xml: weblogic.websocket.tyrus.TyrusServletFilter.
java.lang.ClassCastException: org.apache.tomcat.websocket.server.WsServerContainer cannot be cast to org.glassfish.tyrus.server.TyrusServerContainer
        at weblogic.websocket.tyrus.TyrusServletFilter.init(TyrusServletFilter.java:76)
        at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:400)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
        at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
        at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
        at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
        at weblogic.servlet.internal.FilterManager.initFilter(FilterManager.java:130)
        at weblogic.servlet.internal.FilterManager.loadFilter(FilterManager.java:92)
        at weblogic.servlet.internal.FilterManager.preloadFilters(FilterManager.java:72)
        at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1917)
        at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3063)
        at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1830)
        at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:875)
        at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360)
        at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
Run Code Online (Sandbox Code Playgroud)

下面是我的pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <spring.version>4.2.3.RELEASE</spring.version>
    <log4j.version>2.4.1</log4j.version>
    <apacheds.server.jndi.version>1.5.5</apacheds.server.jndi.version>
    <dao.hibernate.version>1.2.0</dao.hibernate.version>
    <commons.lang3.version>3.3.2</commons.lang3.version>
    <oracle.version>11.2.0</oracle.version>
    <hibernate.core.version>4.3.8.Final</hibernate.core.version> …
Run Code Online (Sandbox Code Playgroud)

weblogic12c spring-boot

7
推荐指数
0
解决办法
6028
查看次数

Web应用程序中的url-pattern WSATCoordinator映射到多个Servlet

我安装了weblogic 12.2.1.即最新版本并低于错误

<May 10, 2016 10:21:05 PM IST> <Error> <Deployer> <BEA-149205> <Failed to initia
lize the application "my-app-Snapshot" due to error web
logic.application.ModuleException: weblogic.management.DeploymentException: [HTT
P:101401]The url-pattern WSATCoordinator in web application my-app-Snapshot.war is mapped to multiple Servlets.
weblogic.application.ModuleException: weblogic.management.DeploymentException: [
HTTP:101401]The url-pattern WSATCoordinator in web application my-app-Snapshot.war is mapped to multiple Servlets.
        at weblogic.application.internal.ExtensibleModuleWrapper.prepare(Extensi
bleModuleWrapper.java:114)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
leListenerInvoker.java:100)
        at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleSta
teDriver.java:196)
        at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleSta
teDriver.java:191)
        at weblogic.application.utils.StateMachineDriver$ParallelChange.run(Stat
eMachineDriver.java:83)
        Truncated. see log file for complete stacktrace
Caused By: weblogic.management.DeploymentException: [HTTP:101401]The url-pattern
 WSATCoordinator …
Run Code Online (Sandbox Code Playgroud)

java weblogic12c

7
推荐指数
1
解决办法
2301
查看次数

log4j2日志记录发生在错误的路径上

我在weblogic中部署了一个ear,并将log4j2.xml logPath设置为

<Property name="logPath">some_path_1<Property>
Run Code Online (Sandbox Code Playgroud)

和记录器定义为

<Logger name="a.b.c.d" level="INFO" />
Run Code Online (Sandbox Code Playgroud)

在这个ear/lib中,有一个包含log4j2.xml的jar,logPath属性定义为

<Property name="logPath">some_path_2<Property>
Run Code Online (Sandbox Code Playgroud)

和一个包装结构非常相似的记录器

<Logger name="a.b.c" level="INFO" />
Run Code Online (Sandbox Code Playgroud)

log4j2.xml都配置为具有不同的日志文件名.但两者的日志都在路径some_path_2中,并且在该jar中定义了文件名

如何确保两个日志记录输出按照定义单独进行?

我的耳朵结构就像

ear
|--lib
|--|--abc.jar
|--|--|--log4j2.xml //the one thats getting loaded
|--xyz.war
|--|--WEB-INF
|--|--|--classes
|--|--|--|--log4j2.xml // the one I want
Run Code Online (Sandbox Code Playgroud)

Edit1:我在包含war的web.xml中添加了以下内容,但它没有帮助

    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/classes/log4j2.xml</param-value>
    </context-param>
Run Code Online (Sandbox Code Playgroud)

编辑2:我也试过这个,发现这是间歇性的

ear
|--lib
|--|--abc.jar
|--|--|--log4j2.xml //the one thats getting loaded
|--|--xyz.jar
|--|--|--log4j2.xml //the one I want.. works but not always.Does classloader loads the jars alphabetically?
|--xyz.war
|--|--WEB-INF
|--|--|--classes
|--|--|--|--log4j2.xml // the one I want
Run Code Online (Sandbox Code Playgroud)

java logging log4j weblogic12c log4j2

7
推荐指数
1
解决办法
702
查看次数