2017-01-09 2 views
0

У меня тяжелые времена пытаются конвертировать мою библиотеку .jar в .dll и заставить ее работать с каркасом IKVM. Я написал библиотеку Java, которая отлично работает, так как она была успешно протестирована в нескольких проектах java, но мне очень нужна DLL для .NET.IKVM jar to dll issues

Когда я запускаю команду:

ikvm -jar mylib.jar 

все в порядке (я также попытался с главным файлом, чтобы быть уверенными: он работает).

Но, когда я типа:

ikvmc -target:library mylib.jar 

Я получил много предупреждений, но все это создает DLL-файл. Важно сказать, что ВСЕ предупреждения связаны с библиотеками, которые я НЕ использую в своем проекте, но я уверен, что в пакетах, которые я импортировал в Maven, которые необходимы мне. я не знаю, если истинная проблема заключается в этом шаге, так как я прочитал в Интернете, чтобы игнорировать эти предупреждения, но чтобы убедиться, что я выкладываю немного выхода:

warning IKVMC0100: Class "junit.framework.TestCase" not found 
warning IKVMC0100: Class "javax.servlet.http.HttpServlet" not found 
warning IKVMC0100: Class "javax.servlet.ServletOutputStream" not found 
warning IKVMC0100: Class "org.junit.Assert" not found 
warning IKVMC0100: Class "junit.framework.TestSuite" not found 
warning IKVMC0100: Class "org.apache.tools.ant.taskdefs.MatchingTask" not found 

Предположим, этот шаг нормально , теперь мне нужно импортировать библиотеки IKVM и файл mylib.dll в Ссылки моего приложения C#. Я сделал, и результат довольно странный: среда автозаполнения предлагает мне использовать только 4 класса Java, игнорируя 99% других. Я полагаю, что что-то пошло не так, но мне сложно понять, где и как это исправить.

Дополнительная информация: Я использую Maven, Java8 (sdk 1.8) и IKVM 8. Я также пробовал то же самое с IKVM 7 и по-прежнему получал те же ошибки. В конце концов, это мой pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>org.fra.mylibrary</groupId> 
<artifactId>MyLibrary</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<name>MYLIBRARY</name> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

<!-- https://mvnrepository.com/artifact/net.sourceforge.owlapi/owlapi-distribution --> 
<dependencies> 
    <!-- https://mvnrepository.com/artifact/net.sourceforge.owlapi/owlapi-distribution --> 
    <dependency> 
     <groupId>net.sourceforge.owlapi</groupId> 
     <artifactId>owlapi-distribution</artifactId> 
     <version>4.1.3</version> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/org.antlr/antlr4-runtime --> 
    <dependency> 
     <groupId>org.antlr</groupId> 
     <artifactId>antlr4-runtime</artifactId> 
     <version>4.5.3</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.7.21</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all --> 
    <dependency> 
     <groupId>org.codehaus.groovy</groupId> 
     <artifactId>groovy-all</artifactId> 
     <version>2.4.7</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/net.sourceforge.owlapi/jfact --> 
    <dependency> 
     <groupId>net.sourceforge.owlapi</groupId> 
     <artifactId>jfact</artifactId> 
     <version>4.0.4</version> 
    </dependency> 



</dependencies> 

<build> 
    <plugins> 
     <!-- ANTLR4 --> 
     <plugin> 
      <groupId>org.antlr</groupId> 
      <artifactId>antlr4-maven-plugin</artifactId> 
      <version>4.5.3</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>antlr4</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
      </configuration> 
     </plugin> 

     <!-- Maven Assembly Plugin to create Jar --> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
     </plugin> 

     <!-- Maven Compiler Plugin --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.6.0</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 

    </plugins> 
</build> 

ответ

0

Просто удалите весь код, связанный с последней версией методы и классов, и изменить его, чтобы понизить версию библиотеки Java, это может работать , потому что у меня такая же ошибка, как в этом

Смежные вопросы