J'essaye de développer un portlet dans Liferay qui fonctionne sur un workflow de Bonita, mais je continue à obtenir l'exception dans le titre. Je ne suis pas particulièrement familier avec le monde Java, donc je n'ai aucune idée de ce que je me bats la tête :)Liferay et bonita: noclassdeffounderror
Répondre
Vous avez probablement appelé un code comme:
new LiferayClass();
et la machine virtuelle Java n'a aucune idée où le constructeur de la classe est. Cela arrive souvent parce que vous étiez prudent de dire au compilateur (javac) où se trouvait la bibliothèque (fichier JAR Liferay) lorsque vous compiliez, mais vous n'avez pas dit à la JVM (java) où se trouvait la bibliothèque lorsque vous avez exécuté le programme .
La manière la plus simple de dire à la JVM où se trouvent les bibliothèques requises est d'utiliser un chemin de recherche appelé CLASSPATH. Exporter une variable d'environnement qui ressemble à ceci:
Pour Unix/Linux
CLASSPATH=/path/to/liferay.jar:/path/to/bonita.jar
Pour Windows
CLASSPATH=C:\path\to\liferay.jar;C:\path\to\bonita.jar
--- modifier après que c'est la clarification d'une application web ---
Comme il s'agit d'une application Web, vous ne placez pas le fichier JAR dans le chemin de classe. Vous le placez dans le répertoire WEB-INF/lib interne au fichier WAR que vous créez. De cette façon, il sera uniquement exposé à votre application Web. Dans le cas contraire, cela pourrait interférer avec les autres applications Web déployées.
Il est difficile de dire exactement exactement ce qui ne va pas sans plus d'informations, mais c'est presque lié à un problème de classpath. Recherchez la classe mentionnée dans l'exception et assurez-vous que le fichier jar contenant cette classe se trouve sur le chemin de classe. Sans être familier avec Liferay, je ne sais pas comment vous allez faire ça, mais c'est probablement un cas de déposer le fichier jar dans le bon répertoire.
Vous pouvez accéder au moteur Bonita via API Rest à partir de n'importe où.
Voici la documentation de l'API Bonita REST: http://www.bonitasoft.com/resources/documentation/bos-59/development/bonita-execution-engine/accessing-bonita-execution-engine
Vous pouvez créer un processus d'appel de portlets Liferay créés avec Bonita via l'API Rest, il suffit de suivre la documentation.
Cordialement.
Ceci n'est pas réellement une réponse à la question posée. Les réponses sur Stack Overflow devraient être directement liées à la question posée. –
en fait c'est la réponse, je l'ai fait avant et cela m'a fait gagner beaucoup de temps, pas besoin d'importer des dépendances bonita jar et de lutter contre les API Bonita grâce à vos codes java, utilisez ces API REST quelle que soit votre plateforme Java, C# ou même PHP. –
- 1. AspectJ et NoClassDefFoundError
- 2. GWT et Hibernate NoClassDefFoundError
- 3. Eclipse classpath et NoClassDefFoundError
- 4. Intégration de Liferay et Alfresco
- 5. NoClassDefFoundError trouvé!
- 6. Liferay - Authentification sans peupler liferay db
- 7. NoClassDefFoundError inside jar
- 8. Application Java NoClassDefFoundError
- 9. NoClassDefFoundError sur org.jruby.Main
- 10. NoClassDefFoundError au printemps
- 11. Quartz Scheduler - NoClassDefFoundError
- 12. Java webservice NoClassDefFoundError
- 13. Liferay portlets Problème
- 14. Liferay + google openid COMMENT?
- 15. Documentation pour Liferay Hooks
- 16. portail liferay avec asp.net
- 17. connexion liferay par programme
- 18. Liferay 6: OpenLDAP
- 19. Architecture du projet Liferay?
- 20. Liferay/web/guest/home
- 21. Hibernate dans Glassfish - Ejb3Configuration NoClassDefFoundError
- 22. JasperReports NoClassDefFoundError exception sur net.sf.jasperreports.engine.util.JRStyledTextParser
- 23. Hadoop ToolRunner échoue avec NoClassDefFoundError
- 24. Impossible d'exécuter java progam! NoClassDefFoundError?
- 25. SoapUI erreur sur demande - NoClassDefFoundError
- 26. Apache HttpClient jette un NoClassDefFoundError
- 27. NoClassDefFoundError sans nom de classe
- 28. Liferay - Exemple de portlet Struts2
- 29. LifeRay alternative dans asp.net C#
- 30. Développement de Liferay dans Eclipse
Est-ce que le fait que Liferay fonctionne avec Tomcat soit un problème (comme Tomcat a-t-il un CLASSPATH séparé)? –
Tomcat possède un CLASSPATH, mais vous ne voulez pas l'utiliser dans ce cas. Tomcat ne place pas de code d'application Web sur son chemin de classe pour empêcher les applications Web déployées de détourner le code de confinement et de sécurité approprié fourni par Tomcat. –