Giter VIP home page Giter VIP logo

jvm-driver's People

Contributors

jaynlau avatar roberto-gentili avatar web-flow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

jaynlau

jvm-driver's Issues

jvm-driver-8.15.0 detected as Trojan by BitDefender (Probably False Positive)

Hi Team - I'm having a problem whereby the JVM driver is being picked up as a Trojan by BitDefender (Trojan.GenericKD.72231710).

I'm 99.9% certain this is a false positive (and has only recently started happening), but I can't grab the file to submit for false positive report, or mark it as an exclusion, as the AV deletes it before I can get hold of it. Is there any chance you could submit this to BitDefender to remove the false flag?

For what it's worth, the installation is done via Maven for IntelliJ.

Thanks.

Aarch64 support?

Are there any plans for native aarch64 (linux arm, macbook m1) support?

Support more OS and arch?

I want to employ burningwave core in my project using LWJGL3. LWJGL3 itself supports more platforms than jvm driver, I wonder if jvm driver has plan to support more OS and Arch too?
Here's the platforms LWJGL supported, and here's how their action handle them.

Add prefix/suffix to 'jvm-driver' artefact name

Discussed in #6

Originally posted by powerbroker December 13, 2022
This 'jvm-driver' adapter requires actual 'jvm-driver':

Burningwaffe artefuct

They both have same name but different purpose. Would be useful if adapter was marked somehow, e.g. 'jvm-driver-wrapper' or 'bw-jvm-driver' or something like.

NullPointerException when trying to initialize the driver in uber jar

I'm looking into using burningwave to help out a Java-based CLI tool which needs to support Java 16+. I've added this line of code inside my main method

org.burningwave.core.assembler.StaticComponentContainer.Modules.exportAllToAll();

If I include the burningwave core and jvm-driver jars in the classpath, everything seems to be working at first blush. However, my tool needs to be able to be called via

java -jar mytool.jar

and therefore any libraries needed to bootstrap it are "shaded" into the main "uber" jar. When I copy the class files, banner.bwb file and jvm-driver.properties file into my uber jar, I get this error.

io.github.toolfactory.jvm.util.ObjectProvider$BuildingException: Exception occurred while retrieving the implementation of class io.github.toolfactory.jvm.function.catalog.GetResourcesFunction (jvm architecture: x64, jvm version: 17, jvm vendor: Eclipse Adoptium)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:95)
        at io.github.toolfactory.jvm.DriverAbst.getOrBuildResourcesRetriever(DriverAbst.java:436)
        at io.github.toolfactory.jvm.DriverAbst.getResources(DriverAbst.java:884)
        at org.burningwave.core.io.Resources.lambda$getAsInputStream$3(Resources.java:160)
        at org.burningwave.core.io.Resources.getAsInputStream(Resources.java:165)
        at org.burningwave.core.io.Resources.getAsInputStream(Resources.java:158)
        at org.burningwave.core.assembler.StaticComponentContainer.showBanner(StaticComponentContainer.java:585)
        at org.burningwave.core.assembler.StaticComponentContainer.<clinit>(StaticComponentContainer.java:363)
        at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:557)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObjectInternal(ObjectProvider.java:144)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:92)
        ... 8 more
Caused by: io.github.toolfactory.jvm.util.ObjectProvider$BuildingException: Exception occurred while retrieving the implementation of class io.github.toolfactory.jvm.function.catalog.DeepConsulterSupplyFunction (jvm architecture: x64, jvm version: 17, jvm vendor: Eclipse Adoptium)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:95)
        at io.github.toolfactory.jvm.function.catalog.GetResourcesFunction$ForJava9.buildResourceFinder(GetResourcesFunction.java:129)
        at io.github.toolfactory.jvm.function.catalog.GetResourcesFunction$Abst.<init>(GetResourcesFunction.java:56)
        at io.github.toolfactory.jvm.function.catalog.GetResourcesFunction$ForJava7.<init>(GetResourcesFunction.java:92)
        at io.github.toolfactory.jvm.function.catalog.GetResourcesFunction$ForJava9.<init>(GetResourcesFunction.java:123)
        ... 15 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObjectInternal(ObjectProvider.java:144)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:92)
        ... 19 more
Caused by: io.github.toolfactory.jvm.util.ObjectProvider$BuildingException: Exception occurred while retrieving the implementation of class io.github.toolfactory.jvm.function.catalog.GetDeclaredFieldFunction (jvm architecture: x64, jvm version: 17, jvm vendor: Eclipse Adoptium)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:95)
        at io.github.toolfactory.jvm.function.catalog.DeepConsulterSupplyFunction$ForJava14.<init>(DeepConsulterSupplyFunction.java:168)
        ... 26 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObjectInternal(ObjectProvider.java:144)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:92)
        ... 27 more
Caused by: io.github.toolfactory.jvm.util.ObjectProvider$BuildingException: Exception occurred while retrieving the implementation of class io.github.toolfactory.jvm.function.catalog.GetDeclaredFieldsFunction (jvm architecture: x64, jvm version: 17, jvm vendor: Eclipse Adoptium)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:95)
        at io.github.toolfactory.jvm.function.catalog.GetDeclaredFieldFunction$ForJava7.<init>(GetDeclaredFieldFunction.java:45)
        ... 34 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObjectInternal(ObjectProvider.java:144)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:92)
        ... 35 more
Caused by: io.github.toolfactory.jvm.util.ObjectProvider$BuildingException: Exception occurred while retrieving the implementation of class io.github.toolfactory.jvm.function.catalog.ConsulterSupplyFunction (jvm architecture: x64, jvm version: 17, jvm vendor: Eclipse Adoptium)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:95)
        at io.github.toolfactory.jvm.function.catalog.GetDeclaredFieldsFunction$ForJava7.<init>(GetDeclaredFieldsFunction.java:55)
        ... 42 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObjectInternal(ObjectProvider.java:144)
        at io.github.toolfactory.jvm.util.ObjectProvider.getOrBuildObject(ObjectProvider.java:92)
        ... 43 more
Caused by: java.lang.NullPointerException: Cannot invoke "java.io.InputStream.read(byte[])" because "input" is null
        at io.github.toolfactory.jvm.util.Streams.copy(Streams.java:48)
        at io.github.toolfactory.jvm.util.Streams.toByteArray(Streams.java:40)
        at io.github.toolfactory.jvm.function.catalog.ConsulterSupplyFunction$ForJava9.<init>(ConsulterSupplyFunction.java:82)
        ... 50 more

It's really hard to tell what all is going on there. The StaticComponentContainer.showBanner portion of the outermost exception makes me think the issue is related to showing the banner.

Things I've tried

  • Ensured the org/burningwave/banner.bwb file exists inside my uber jar
  • Tried to turn on the banner.hide setting but I'm not really sure how to do this (a system property would be MUCH easer than a properties file!)
    • I tried creating a burningwave.static.properties file in the root of my uber jar doesn't seem to get picked up
    • The docs say the properties file need to be located "in the base path of your class path" but I don't know what that means for my use case
    • I tried using the setFileName() method, but it's really unclear how that works. Is it expecting a path inside the jar? A relative path? An absolute path? Can it point anywhere on disk? Does it need a prefix like file://? I tried passing several things to setFileName(), including a non-existent path and it basically seems to just get ignored.

I really can't figure out how to debug any of this, and the stack traces in the error above are super confusing, lol.

And furthermore, even if I can get past this banner error, I still have other questions such as how I can incorporate the jvm-driver.properties file from both of the required jvm-driver jars which are dependencies into a single uber-jar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.