<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[OWLPAI und JNI]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe keine Ahnung, ob ich in diesem Teil des Forums richtig angesiedelt bin mit meiner Frage, ich bin einfach so dreist und poste die Frage hier.</p>
<p>Folgendes Problem tut sich bei mir auf:</p>
<p>Ich bin im Moment damit beschäftigt die OWLAPI für C++ verfügbar zu machen. Für dieses Vorhaben nehme ich das JNI zu Hilfe, da es zur Implementierung keine, in meinen Augen bessere, Möglichkeit gibt, dies umzusetzen.</p>
<p><a href="http://owlapi.svn.sourceforge.net/viewvc/owlapi/owl1_1/trunk/examples/src/main/java/org/coode/owlapi/examples/Example1.java?view=markup" rel="nofollow">http://owlapi.svn.sourceforge.net/viewvc/owlapi/owl1_1/trunk/examples/src/main/java/org/coode/owlapi/examples/Example1.java?view=markup</a></p>
<p>Ich stecke im Moment in Codezeile 50 fest, ich versuche also eine URI über C++ zu erstellen:</p>
<pre><code class="language-cpp">jmethodID javamethod;
	cout &lt;&lt; &quot;Methode GetMethod &quot; &lt;&lt; className &lt;&lt; endl &lt;&lt; methodName &lt;&lt; endl &lt;&lt; endl;
	jstring jstring_URI;
	jstring_URI= env-&gt;NewStringUTF(URIName.c_str());
	javamethod
			= env-&gt;GetStaticMethodID(FindClass(className.c_str()), methodName.c_str(),&quot;(jstring_URI;)Ljava/net/URI;&quot;);
</code></pre>
<p>Wenn ich versuche die Methode &quot;create&quot; aufzurufen findet die Java VM diese nicht, ich habe keine Ahnung woran es liegt. Die Klasse:</p>
<pre><code class="language-cpp">char classnameURI[] =&quot;java/net/URI&quot;;
</code></pre>
<p>wird allerdings gefunden. Meine Vermutung ist, dass ich eine falsche Signatur übergebe, auch das ist nicht der Fall wie man mit javap -s herausfinden kann</p>
<p>public static java.net.URI create(java.lang.String);<br />
Signature: (Ljava/lang/String;)Ljava/net/URI;</p>
<p>Dennoch wird die Methode nicht gefunden, hat jemand von euch eine Idee?</p>
<p>Viele Grüße,</p>
<p>Sukka</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/252083/owlpai-und-jni</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 04:22:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/252083.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Oct 2009 10:51:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OWLPAI und JNI on Wed, 14 Oct 2009 10:51:48 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe keine Ahnung, ob ich in diesem Teil des Forums richtig angesiedelt bin mit meiner Frage, ich bin einfach so dreist und poste die Frage hier.</p>
<p>Folgendes Problem tut sich bei mir auf:</p>
<p>Ich bin im Moment damit beschäftigt die OWLAPI für C++ verfügbar zu machen. Für dieses Vorhaben nehme ich das JNI zu Hilfe, da es zur Implementierung keine, in meinen Augen bessere, Möglichkeit gibt, dies umzusetzen.</p>
<p><a href="http://owlapi.svn.sourceforge.net/viewvc/owlapi/owl1_1/trunk/examples/src/main/java/org/coode/owlapi/examples/Example1.java?view=markup" rel="nofollow">http://owlapi.svn.sourceforge.net/viewvc/owlapi/owl1_1/trunk/examples/src/main/java/org/coode/owlapi/examples/Example1.java?view=markup</a></p>
<p>Ich stecke im Moment in Codezeile 50 fest, ich versuche also eine URI über C++ zu erstellen:</p>
<pre><code class="language-cpp">jmethodID javamethod;
	cout &lt;&lt; &quot;Methode GetMethod &quot; &lt;&lt; className &lt;&lt; endl &lt;&lt; methodName &lt;&lt; endl &lt;&lt; endl;
	jstring jstring_URI;
	jstring_URI= env-&gt;NewStringUTF(URIName.c_str());
	javamethod
			= env-&gt;GetStaticMethodID(FindClass(className.c_str()), methodName.c_str(),&quot;(jstring_URI;)Ljava/net/URI;&quot;);
</code></pre>
<p>Wenn ich versuche die Methode &quot;create&quot; aufzurufen findet die Java VM diese nicht, ich habe keine Ahnung woran es liegt. Die Klasse:</p>
<pre><code class="language-cpp">char classnameURI[] =&quot;java/net/URI&quot;;
</code></pre>
<p>wird allerdings gefunden. Meine Vermutung ist, dass ich eine falsche Signatur übergebe, auch das ist nicht der Fall wie man mit javap -s herausfinden kann</p>
<p>public static java.net.URI create(java.lang.String);<br />
Signature: (Ljava/lang/String;)Ljava/net/URI;</p>
<p>Dennoch wird die Methode nicht gefunden, hat jemand von euch eine Idee?</p>
<p>Viele Grüße,</p>
<p>Sukka</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1792468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1792468</guid><dc:creator><![CDATA[sukka]]></dc:creator><pubDate>Wed, 14 Oct 2009 10:51:48 GMT</pubDate></item><item><title><![CDATA[Reply to OWLPAI und JNI on Wed, 14 Oct 2009 11:59:58 GMT]]></title><description><![CDATA[<p>Haste ne vernünftige Fehlermeldung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1792508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1792508</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Wed, 14 Oct 2009 11:59:58 GMT</pubDate></item><item><title><![CDATA[Reply to OWLPAI und JNI on Wed, 14 Oct 2009 13:31:55 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>eine Fehlermeldung dazu gibts nicht, die Methode wird einfach nicht gefunden, gibt also den Rückgabewert NULL zurück.</p>
<p>Ich bin jetzt schon etwas weiter, die Methode wird jetzt auch gefunden:</p>
<pre><code class="language-cpp">javamethod
			= env-&gt;GetStaticMethodID(FindClass(className.c_str()), methodName.c_str(),&quot;(Ljava/lang/String;)Ljava/net/URI;&quot;);
</code></pre>
<p>Allerdings bekomme ich jetzt folgende Fehlermeldung, wenn ich versuche, die Mehtode auszuführen:</p>
<pre><code class="language-cpp">jstring jstring_URI;
	jstring_URI= env-&gt;NewStringUTF(URIName.c_str());

jobject testobject = env-&gt;CallStaticObjectMethodA(FindClass(className.c_str()),javamethod, jstring_URI);
</code></pre>
<p>Fehlermeldung:</p>
<p>Fehler: keine passende Funktion für Aufruf von »JNIEnv_::CallStaticObjectMethodA(_jclass*, _jmethodID*&amp;, _jstring*&amp;)«</p>
<p>und schonwieder weiß ich nicht weiter.</p>
<p>viele Grüße,</p>
<p>Sukka</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1792566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1792566</guid><dc:creator><![CDATA[sukka]]></dc:creator><pubDate>Wed, 14 Oct 2009 13:31:55 GMT</pubDate></item></channel></rss>