You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Terrien Jean-Yves (JIRA)" <ji...@apache.org> on 2018/04/24 17:45:00 UTC

[jira] [Created] (MNG-6400) can not work with a system dependency on a unix / mac / windows project

Terrien Jean-Yves created MNG-6400:
--------------------------------------

             Summary: can not work with a system dependency on a unix / mac / windows project
                 Key: MNG-6400
                 URL: https://issues.apache.org/jira/browse/MNG-6400
             Project: Maven
          Issue Type: Bug
          Components: Dependencies
    Affects Versions: 3.5.3
         Environment: Windows 07
            Reporter: Terrien Jean-Yves


the sapjco3.jar and sapIdoc3.jar jars can not be renamed.
to work with you have to use an addiction system

however, a unix / windows project can not have an identical absolute path on both systems.

in previous versions of maven you can set properties in .m2 / settings.xml <sapidoc3> and <spajco3> and use <scope> system </ scope>
<SystemPath> $ \{sapidoc3} </ systemPath>

a warnning will be displayed.
on version 3.5.3 it is an error.

But that's not all because even putting the system dependency with an absolute path the jar is not found with the correct name

<dependency>
 <groupId>de.sap</groupId>
 <artifactId>sapjco3</artifactId>
 <version>3.0.0</version>
 <scope>system</scope>
 <systemPath>D:/project-ati/libs/libsap/sapjco3.jar</systemPath>
 </dependency>

JCO3 code


 protected boolean registerNativeMethods(Class<?> clazz){
 if(!initializedDLL){
 try{
 JCoRuntime.nativeLibraryPath = loadLibrary("sapjco3");
 initializedDLL = true;
 }catch(UnsatisfiedLinkError arg2){
 JCoRuntime.nativeLibraryPath = "not loaded, caused by " + arg2.toString();
 arg2.printStackTrace();
 throw arg2;
 }
 }

return true;
 }

java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1865)
 at java.lang.Runtime.loadLibrary0(Runtime.java:870)
 at java.lang.System.loadLibrary(System.java:1122)
 at com.sap.conn.jco.rt.DefaultJCoRuntime.loadLibrary(DefaultJCoRuntime.java:444)

 

The first sap-schema-plugin is a project with sap dependencies defined by an absolute path or property. it compiles well.

the second project use this plugin. 
if the plugin project is compiled whith properties
=> error absolute pah is ${sapjco3}
if the plugin project is compiled with absolute path
=> java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path

 

the same project without change with maven 3.3.9 works perfectly

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)