RE: Comment surcharger une classe JAVA Liferay efficacement ?

Axel LEFEVRE, modified 5 Years ago. New Member Posts: 3 Join Date: 2/14/20 Recent Posts
Bonjour,Je tente de surcharger la classe "OpenIdConnectServiceHandlerImpl .java" afin d'y apporter des modifications.
Lors du déploiement de ma surcharge, j'ai l'erreur suivante :
2020-02-12 16:50:32.588 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployScanner][AutoDeployDir:259] Processing auth-sso-0.0.1.jar
2020-02-12 16:50:38.531 ERROR [fileinstall-/opt/liferay/osgi/modules][LogService:93] Error while starting bundle: file:/opt/liferay/osgi/modules/auth-sso-0.0.1.jar
org.osgi.framework.BundleException: Could not resolve module: com.agrial [1161]_  Unresolved requirement: Import-Package: net.jcip.annotations_ [Sanitized]
        at org.eclipse.osgi.container.Module.start(Module.java:444)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:428)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1275)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1248)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316)
       

Alors à chaque fois qu'il manque une dépendance et que je fait face à cette erreur, j'ajoute le nom de l'archive .jar dans le fichier bnd.bnd, puis je redéploie le module. Je n'ai plus l'erreur, mais une autre apparaît... La même erreur, mais concernant une autre dépendance, et ainsi de suite... Je suis à la 20ème archive listée dans le fichier bnd.bnd. Et je ne sais pas combien sont nécessaires, mais ça peut durer longtemps si c'est une centaine ...

C'est vraiment un process lourd et long. Il n'y a pas une autre façon de faire face à cette erreur ? Une façon plus simple et moins longue ?

Nous travaillons sur la version 7.2.1 GA2

Merci pour votre aide
thumbnail
Eric COQUELIN, modified 5 Years ago. Expert Posts: 254 Join Date: 11/3/13 Recent Posts
S'il s'agit d'un nouveau module (pas un ext) alors le plus simple est probablement d'utiliser la directive "compileInclude" quand vous faites référence à la première dépendance dans votre fichier build.gradle.
Bonne journée,
Axel LEFEVRE, modified 5 Years ago. New Member Posts: 3 Join Date: 2/14/20 Recent Posts
Il y a un équivalent au "compileInclude" pour Maven ? Nous utilisons Maven. Merci pour votre rapide réponse !