Thanks Greg!
So, what i found out is that the build script and properties hava a dependencies portal dependencies setting:
portal.dependency.jars=
inside of liferay-plugin-package.properties
The jars specified in that property are temporarly copied to the war for compilation, but are erased from it before packaging it... I'm not sure that makes sense... That would sound like you are expecting these jars to be globally available on tomcat... But they are explicitly copied from the portal web app (ROOT in case of tomcat) ... So, it feels like there is an expectation that because these jars are in ROOT/WEB-INF/lib, they will be made available to other portlets, and that is not the case...
The part of the build script that does this copying is in build-common-plugin.xml in the plugins root... It is the 'war' target....I've modified it slightly to make it work in this case, and then i put the extra deps i have in the portal.dependency.jars above (such as the digester)..
1
2<target name="war" depends="compile">
3 ...
4
5<!-- If we execute this before the zip, dependencies are not put in the war
6I wonder if this is on purpose and something else is not working
7Or an actual error, For now, since it doesn't work otherwise,
8I'm excecuting it after thw war is created
9I should ask in the forum
10 <antcall target="clean-portal-dependencies" />
11-->
12 <zip
13 basedir="${docroot.dir}"
14 destfile="${plugin.file}"
15 />
16<!-- so i run this after the packaging so that the deps go with the war file -->
17 <antcall target="clean-portal-dependencies" />
18 </target>
What I don't know here is what was the original intention of these portal dependencies, and if indeed there was an expectation that they would be makde available to external war portlets in means that are not currently working or what...
Perhaps someone @ liferay could illuminate us?
Thanks!
Please sign in to flag this as inappropriate.