Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cant run my created runable jar #134

Open
IRusskiBrat opened this issue Jan 27, 2019 · 4 comments
Open

Cant run my created runable jar #134

IRusskiBrat opened this issue Jan 27, 2019 · 4 comments

Comments

@IRusskiBrat
Copy link

IRusskiBrat commented Jan 27, 2019

I cannt run my runable jar in which i use this Humble Video Library.
In Eclipse it all worked fine, but when I created the file, it doesnt work.
This error message appears.

humble_error.log

I have created it with Maven.

Version of humblevideo: 0.3.0
Operation System: MacOs MojaveVersion of humblevideo: 0.3.0
Operation System: MacOs Mojave

Please help me if you can.

@IRusskiBrat IRusskiBrat changed the title Cant run unzipped file Cant run my created runable jar Jan 27, 2019
@artclarke
Copy link
Owner

Are you running a 32-bit or a 64-bit JVM? If 32-bit, HumbleVideo does not support those.

Otherwise, please post your maven manifest (pom.xml) that you built with?

@McPringle
Copy link

Looks like the same as #112

@BAAARCODE
Copy link

BAAARCODE commented Jul 8, 2021

I'm currently facing this same issue. I have exported a project, which is fully functional in Eclipse, to a runnable JAR. The JAR will run until it's time to use Humble Video, at which point I get the following error:

java.lang.UnsatisfiedLinkError: no humblevideo in java.library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at io.humble.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:268)
        at io.humble.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:171)
        at io.humble.ferry.JNILibrary.load(JNILibrary.java:152)
        at io.humble.ferry.FerryJNI.<clinit>(FerryJNI.java:16)
        at io.humble.ferry.Ferry.<clinit>(Ferry.java:24)
        at io.humble.video.VideoJNI.<clinit>(VideoJNI.java:19)
        at io.humble.video.Muxer.make(Muxer.java:139)

As it relates to Humble Video and Maven plugins, my pom.xml contains the following:

...
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
  	<dependency>
  		<groupId>io.humble</groupId>
  		<artifactId>humble-video-all</artifactId>
  		<version>0.3.0</version>
  	</dependency>
...
  </dependencies>
...

I have attempted the solution proposed by mozeq in #112 to no avail. I'm quite unfamiliar with Maven, so there may be an oversight in my pom.xml, but there are other Maven dependencies in my project which work fine in the runnable JAR.

I am using Humble Video 0.3.0, a 64-bit JVM, and Windows 10 Home.

@KodeMunkie
Copy link

I'm currently facing this same issue. I have exported a project, which is fully functional in Eclipse, to a runnable JAR. The JAR will run until it's time to use Humble Video, at which point I get the following error:
...

I have attempted the solution proposed by mozeq in #112 to no avail. I'm quite unfamiliar with Maven, so there may be an oversight in my pom.xml, but there are other Maven dependencies in my project which work fine in the runnable JAR.

I am using Humble Video 0.3.0, a 64-bit JVM, and Windows 10 Home.

The workaround from #112 appears to be incomplete and/or they were building humble video from source whilst compiling their app.
The following works - in your shade or manifest plugin add the below lines (nb. this is my shade entry, ${humble-lib} is a property switched in profiles, e.g win64 is "x86_64-w64-mingw32", and obviously sub your jar main class):

<transformers>
    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
        <manifestEntries>
            <Main-Class>org.package.mainclass</Main-Class>
            <Specification-Title>${project.artifactId}</Specification-Title>
            <Specification-Version>${project.version}</Specification-Version>
            <Implementation-Title>${project.artifactId}</Implementation-Title>
            <Implementation-Version>${project.version}</Implementation-Version>
            <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
            <Humble-Native-App>humble-video</Humble-Native-App>
            <Humble-Native-Root>.</Humble-Native-Root>
            <Humble-Native-Paths>.</Humble-Native-Paths>
            <Humble-Native-Bundles>${humble-lib}</Humble-Native-Bundles>
        </manifestEntries>
    </transformer>
</transformers>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants