小编She*_*lly的帖子

在Spring + Tomcat上使用JSF 2.2.9导致java.lang.NoClassDefFoundError:javax/enterprise/context/spi/Contextual

我需要在JSF组件中使用自定义html属性,为此我发现的唯一解决方案是使用JSF 2.2,这样:

<f:passThroughAttribute name="data-toggle" value="modal" />
Run Code Online (Sandbox Code Playgroud)

问题是我正在使用Spring + Tomcat而我无法改变这个因为我没有时间.每次我启动我的服务器时都会出现以下错误:

Informações: CDI @ViewScoped manager unavailable
java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual
Run Code Online (Sandbox Code Playgroud)

我知道这是因为我不使用CDI,但正如我所说,由于时间的原因,我无法从Spring改为CDI.

我怎么解决这个问题 ?我必须使用JSF 2.2(因为自定义html属性)和Spring.

解决了:

这个问题解决了,我降级到JSF 2.2.6并且错误停止了.

堆栈跟踪:

Fev 01, 2015 4:13:57 PM com.sun.faces.application.view.ViewScopeManager <init>
Informações: CDI @ViewScoped manager unavailable
java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual
at com.sun.faces.application.view.ViewScopeManager.<init>(Unknown Source)
at com.sun.faces.application.view.ViewScopeManager.getInstance(Unknown Source)
at com.sun.faces.application.view.ViewScopeEventListener.processEvent(Unknown Source)
at javax.faces.event.SystemEvent.processListener(Unknown Source)
at javax.faces.event.ComponentSystemEvent.processListener(Unknown Source)
at com.sun.faces.application.ApplicationImpl.processListeners(Unknown Source)
at com.sun.faces.application.ApplicationImpl.invokeListenersFor(Unknown Source)
at com.sun.faces.application.ApplicationImpl.publishEvent(Unknown Source)
at javax.faces.component.UIViewRoot.getViewMap(Unknown Source)
at javax.faces.component.UIViewRoot.getViewMap(Unknown Source)
at com.sun.faces.mgbean.BeanManager$ScopeManager$ViewScopeHandler.handle(Unknown Source)
at com.sun.faces.mgbean.BeanManager$ScopeManager.pushToScope(Unknown Source)
at com.sun.faces.mgbean.BeanManager.createAndPush(Unknown Source)
at com.sun.faces.mgbean.BeanManager.create(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

jsf spring cdi jsf-2

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

使用@Autowired的@Transaction注释 - Spring

好吧,我有一个带@Service注释的类和一些奇怪的发生器:当我把注释@Transaction放在某些方法中我无法启动tomcat服务器时,我得到错误:"无法自动装配......"在另一个类中当我使用我的@Autowired,但当我删除@Transaction一切正常.

我的标题是:

@Service(value = "caixaBO")
public class CaixaBOImpl extends BasicBOImpl {
Run Code Online (Sandbox Code Playgroud)

我的方法签名是:

@Transactional(propagation = Propagation.REQUIRED)
public void movimentarCaixaPaciente(String descricao, double valor,
        Paciente paciente) {
Run Code Online (Sandbox Code Playgroud)

当我使用@Autowired CaixaBOImpl caixaBO时,由于注释@Transaction,我在tomcat初始化时出错.

编辑1:

1 - 我在applicationContext.xml中有transactionManager,看看:

<!-- Configuracao do gerente de transacoes do Spring -->
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>
Run Code Online (Sandbox Code Playgroud)

2 - 我在pom.xml中有CGLIB,看看:

<dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.2.2</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

编辑2

我的堆栈跟踪:

Grave: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pedidoProteseBO': Injection of autowired …
Run Code Online (Sandbox Code Playgroud)

java spring

10
推荐指数
1
解决办法
8125
查看次数

java.lang.ClassNotFoundException:org.springframework.web.context.request.RequestContextListener

好吧,我正在尝试在tomcat中运行我的Web应用程序,但是我收到以下错误:

Nov 18, 2013 12:19:35 AM org.apache.catalina.core.StandardContext listenerStart
Grave: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4638)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)
Run Code Online (Sandbox Code Playgroud)

我的项目工作,有些类有奇怪的错误,如下所示:"JOIN FETCH表达式不能用标识变量定义." 当我运行"Maven - > Update Project"时,"JOIN FETCH .."中的错误消失但我继续不启动我的服务器.

编辑1:我的pom.xml

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>br.com.sender</groupId>
    <artifactId>Sender</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>sender App</name>
    <url>http://maven.apache.org</url>
    <properties>
        <org.springframework.version>3.0.6.RELEASE
        </org.springframework.version>
    </properties>
    <dependencies>

        <dependency>
            <groupId>org.primefaces.extensions</groupId>
            <artifactId>primefaces-extensions</artifactId>
            <version>0.7.1</version>
        </dependency>


        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.1.6</version>
        </dependency> …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat maven

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

在primefaces中使用rowKey将dataTable与新实体一起使用

好吧,我知道我必须从我的对象中选择一个独特的字段,比如ID.然后我的rowKey是"item.id".这在dataTable中加载所有itens时工作正常,但是如果我添加一个新项(此对象在数据库中没有持久化)并且具有空ID,则它在我的dataTable中不会显示.

这是什么解决方案?我只是可以使用ID作为rowKey但有时我需要添加一个具有NULL ID的新对象(因为这还没有在数据库上保留).

看看我的代码:

<p:dataTable rowKey="#{item.id}" var="item"
                    value="#{orcamentoMB.itens}"
                    emptyMessage="Não foi encontrado nenhum registro"
                    id="dataTableItens"
                    selection="#{orcamentoMB.selectedItemOrcamento}"
                    selectionMode="single" rowIndexVar="rowIndex"
                    rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'first-row' : 'second-row'}">
Run Code Online (Sandbox Code Playgroud)

datatable jsf primefaces

5
推荐指数
1
解决办法
2万
查看次数

在CodeIgniter中扩展模型

好吧,我是CodeIgniter Framework的新手,我正在尝试构建一个通用的Model Class.看到:

class Basic_Model extends CI_MODEL {

    function __construct() {
        // Call the Model constructor
        parent::__construct();
    }

}
Run Code Online (Sandbox Code Playgroud)

我想基于Basic_Model扩展所有模型,如下所示:

class Pagina_Model extends Basic_Model {

    function __construct() {
        // Call the Model constructor
        parent::__construct();
    }

}
Run Code Online (Sandbox Code Playgroud)

问题是当我尝试从Controller调用"pagina_model"时出现以下错误:

Fatal error: Class 'Basic_Model' not found in /var/www/myproject/application/models/pagina_model.php on line 12
Run Code Online (Sandbox Code Playgroud)

如果我在控制器中使用"basic_model"一切正常.

编辑1:

我在"/ application/core"中创建了一个名为MY_Basic_Model.php的文件,并将类名更改为"MY_Basic_Model".但我得到了错误:

Fatal error: Class 'MY_Basic_Model' not found in /var/www/myproject/application/models/pagina_model.php on line 12
Run Code Online (Sandbox Code Playgroud)

php codeigniter

4
推荐指数
3
解决办法
7919
查看次数

标签 统计

spring ×3

java ×2

jsf ×2

cdi ×1

codeigniter ×1

datatable ×1

jsf-2 ×1

maven ×1

php ×1

primefaces ×1

tomcat ×1