留言板
Issue with upgrading jar version in ivy.xml - liferay 6.2 + primefaces 6
Tulsi Rai,修改在7 年前。
Issue with upgrading jar version in ivy.xml - liferay 6.2 + primefaces 6
New Member 帖子: 18 加入日期: 13-2-5 最近的帖子
Hello,
I am in the process of developing a project based on liferay 6.2 and primefaces. I am using Liferay IDE and therefore, a project is created with IDE's new Liferay Plugin Project wizard. The porlte is up and running. However, the default library which is managed in ivy.xml are older as shown below -
so I wanted to upgrade the libraries which are still supported by the Liferay 6.2. So as Phil suggested, I created a project based on maven archetype as shown below. The portlet works just fine as expected.
The reason this approach is done is to created the lastest libraries because the above maven archetype uses the latest libraries as shown below:
So far so good, both portets are up and running fine.
Back to my original goal - upgrading the jars in the ivy.xmlto the latest version. So I manually upgraded the ivy.xml file to match the above build.gradle which is as follows:
Now when I deploy the Portlet with these library updates, I get the following error:
Any idea what is going on here?
Thanks.
Tulsi
I am in the process of developing a project based on liferay 6.2 and primefaces. I am using Liferay IDE and therefore, a project is created with IDE's new Liferay Plugin Project wizard. The porlte is up and running. However, the default library which is managed in ivy.xml are older as shown below -
<!--?xml version="1.0"?-->
<ivy-module version="2.0" xmlns:m2="http://ant.apache.org/ivy/maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nonamespaceschemalocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info module="portlet_liferay_faces_alloy_tmpl" organisation="com.liferay">
<extends extendType="configurations,description,info" location="../../ivy.xml" module="com.liferay.sdk" organisation="com.liferay" revision="latest.integration" />
</info>
<dependencies defaultconf="default">
<dependency name="jboss-el" org="org.jboss.el" rev="2.0.1.GA" />
<dependency name="jsf-api" org="com.sun.faces" rev="2.1.21" />
<dependency name="jsf-impl" org="com.sun.faces" rev="2.1.21" />
<dependency name="liferay-faces-alloy" org="com.liferay.faces" rev="3.2.4-ga5" />
<dependency name="liferay-faces-bridge-api" org="com.liferay.faces" rev="3.2.4-ga5" />
<dependency name="liferay-faces-bridge-impl" org="com.liferay.faces" rev="3.2.4-ga5" />
<dependency name="liferay-faces-portal" org="com.liferay.faces" rev="3.2.4-ga5" />
<dependency name="liferay-faces-util" org="com.liferay.faces" rev="3.2.4-ga5" />
<dependency conf="test->default" name="arquillian-junit-container" org="org.jboss.arquillian.junit" rev="1.1.6.Final" />
<dependency conf="test->default" name="arquillian-tomcat-remote-7" org="org.jboss.arquillian.container" rev="1.0.0.CR6" />
<dependency conf="test->default" name="com.liferay.ant.arquillian" org="com.liferay" rev="1.0.0-SNAPSHOT" />
</dependencies>
</ivy-module>
so I wanted to upgrade the libraries which are still supported by the Liferay 6.2. So as Phil suggested, I created a project based on maven archetype as shown below. The portlet works just fine as expected.
mvn archetype:generate -DarchetypeGroupId=com.liferay.faces.archetype -DarchetypeArtifactId=com.liferay.faces.archetype.primefaces.portlet -DarchetypeVersion=3.0.1 -DgroupId=com.agia -DartifactId=liferay_jsf
The reason this approach is done is to created the lastest libraries because the above maven archetype uses the latest libraries as shown below:
apply plugin: 'war'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.primefaces', name: 'primefaces', version:'6.0'
compile group: 'commons-fileupload', name: 'commons-fileupload', version:'1.3.1'
compile group: 'commons-io', name: 'commons-io', version:'2.4'
compile group: 'com.liferay.faces', name: 'com.liferay.faces.bridge.ext', version:'3.0.0'
compile group: 'com.liferay.faces', name: 'com.liferay.faces.bridge.impl', version:'4.0.0'
compile group: 'log4j', name: 'log4j', version:'1.2.14'
runtime group: 'org.glassfish', name: 'javax.faces', version:'2.2.13'
providedCompile group: 'javax.faces', name: 'javax.faces-api', version:'2.2'
}
So far so good, both portets are up and running fine.
Back to my original goal - upgrading the jars in the ivy.xmlto the latest version. So I manually upgraded the ivy.xml file to match the above build.gradle which is as follows:
<!--?xml version="1.0"?-->
<ivy-module version="2.0" xmlns:m2="http://ant.apache.org/ivy/maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nonamespaceschemalocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info module="portlet_liferay_faces_alloy_tmpl" organisation="com.liferay">
<extends extendType="configurations,description,info" location="../../ivy.xml" module="com.liferay.sdk" organisation="com.liferay" revision="latest.integration" />
</info>
<dependencies defaultconf="default">
<dependency org="log4j" name="log4j" rev="1.2.14" />
<dependency org="commons-fileupload" name="commons-fileupload" rev="1.3.1" />
<dependency org="commons-io" name="commons-io" rev="2.4" />
<dependency org="org.glassfish" name="javax.faces" rev="2.2.13" />
<dependency org="javax.faces" name="javax.faces-api" rev="2.2" />
<dependency org="com.liferay.faces" name="com.liferay.faces.bridge.ext" rev="3.0.0" />
<dependency org="com.liferay.faces" name="com.liferay.faces.bridge.impl" rev="4.0.0" />
<dependency org="org.primefaces" name="primefaces" rev="6.0" />
</dependencies>
</ivy-module>
Now when I deploy the Portlet with these library updates, I get the following error:
19:24:04,352 INFO [localhost-startStop-2][PortletHotDeployListener:492] 1 portlet for liferay-primefaces-poc-portlet is available for use
19:24:11,573 ERROR [FactoryExtensionFinderImpl:151] Unable to create an instance of [com.liferay.faces.bridge.ext.i18n.internal.I18nFactoryLiferayImpl] with one-arg constructor.
19:24:11,577 ERROR [FactoryExtensionFinderImpl:70] null
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.liferay.faces.util.factory.internal.FactoryExtensionFinderImpl.newFactoryInstance(FactoryExtensionFinderImpl.java:133)
at com.liferay.faces.util.factory.internal.FactoryExtensionFinderImpl.registerFactory(FactoryExtensionFinderImpl.java:64)
at com.liferay.faces.util.event.internal.ApplicationStartupListener.processSystemEvent(ApplicationStartupListener.java:74)
at com.liferay.faces.util.event.internal.ApplicationStartupListenerCompat.processEvent(ApplicationStartupListenerCompat.java:45)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108)
at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2169)
at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2142)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:301)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:739)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:739)
at com.sun.faces.config.ConfigManager.publishPostConfigEvent(ConfigManager.java:704)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:270)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5014)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5528)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1948)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
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:745)
Caused by: java.lang.NullPointerException
at com.liferay.faces.bridge.ext.i18n.internal.I18nFactoryLiferayImpl.<init>(I18nFactoryLiferayImpl.java:35)
... 29 more
19:24:11,581 ERROR [FactoryExtensionFinderImpl:151] Unable to create an instance of [com.liferay.faces.bridge.ext.application.internal.ResourceValidatorFactoryLiferayImpl] with one-arg constructor.
19:24:11,582 ERROR [FactoryExtensionFinderImpl:70] null
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.liferay.faces.util.factory.internal.FactoryExtensionFinderImpl.newFactoryInstance(FactoryExtensionFinderImpl.java:133)
at com.liferay.faces.util.factory.internal.FactoryExtensionFinderImpl.registerFactory(FactoryExtensionFinderImpl.java:64)
at com.liferay.faces.util.event.internal.ApplicationStartupListener.processSystemEvent(ApplicationStartupListener.java:74)
at com.liferay.faces.util.event.internal.ApplicationStartupListenerCompat.processEvent(ApplicationStartupListenerCompat.java:45)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108)
at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2169)
at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2142)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:301)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:739)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:739)
at com.sun.faces.config.ConfigManager.publishPostConfigEvent(ConfigManager.java:704)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:270)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5014)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5528)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1948)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
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:745)
Caused by: java.lang.NullPointerException
at com.liferay.faces.bridge.ext.application.internal.ResourceValidatorFactoryLiferayImpl.<init>(ResourceValidatorFactoryLiferayImpl.java:36)
... 29 more
</init></init>
Any idea what is going on here?
Thanks.
Tulsi
Philip White,修改在7 年前。