RE: Comment surcharger une classe JAVA Liferay efficacement ?

Axel LEFEVRE,修改在6 年前。 New Member 帖子: 3 加入日期: 20-2-14 最近的帖子
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,修改在6 年前。 Expert 帖子: 254 加入日期: 13-11-3 最近的帖子
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,修改在6 年前。 New Member 帖子: 3 加入日期: 20-2-14 最近的帖子
Il y a un équivalent au "compileInclude" pour Maven ? Nous utilisons Maven. Merci pour votre rapide réponse !