留言板

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 -

<!--?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
thumbnail
Philip White,修改在7 年前。

RE: Issue with upgrading jar version in ivy.xml - liferay 6.2 + primefaces

Junior Member 帖子: 76 加入日期: 15-3-11 最近的帖子
Please refer back to this thread. Thank you!