簡體   English   中英

如何在用netbeans編寫的項目中找到要在jpype中使用的類路徑

[英]how to find classpath in project written in netbeans to use in jpype

我有一個公開課Stm:

    package stm;

    import zemberek.morphology.apps.TurkishMorphParser;
    import zemberek.morphology.parser.MorphParse;

    import java.io.IOException;
    import java.util.List;

    public class Stm {
        TurkishMorphParser parser;


        public Stm(TurkishMorphParser parser) {
            this.parser = parser;
        }


        public void do_stm(String word) {
            System.out.println("Word = " + word);

            List<MorphParse> parses = parser.parse(word);
            for (MorphParse parse : parses) {

                System.out.println(parse.getStems());

            }
        }



        public static void main(String[] args) throws IOException {

            TurkishMorphParser parser = TurkishMorphParser.createWithDefaults();
            new Stm(parser).do_stm("ankaraya");

        }
    }

和aa.py如下:

    import jpype
    from jpype import *

    import os

    classpath = "/home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/jars/antlr-4.2.2-complete.jar:/home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/jars/guava-15.0.jar:/home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/jars/zemberek-core-0.9.0.jar:/home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/jars/zemberek-lm-0.9.0.jar:/home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/jars/zemberek-morphology-0.9.0.jar:/home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/jars/zemberek-tokenization-0.9.0-2.jar:/home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/build/classes/stm/"

    startJVM(getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % classpath)

    A = JClass('Stm')

    a = A()
    jpype.shutdownJVM()

運行aa.py,出現此錯誤:

    Traceback (most recent call last):

     File "aa.py", line 15, in <module>

    A = JClass('Stm')

    File "/usr/lib/python2.7/dist-packages/jpype/_jclass.py", line 54, in JClass

     raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name)

    jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class Stm not found

我可以在python中調用普通類,但是在用導入的jar文件用netbeans編寫的項目中有問題。 jar文件位於

    /home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/jars/

我知道問題出在classpath上! 考慮到我使用的jar文件,我應該如何填充類路徑部分????????????

類路徑上的最后一個條目應該是/home/jeren/Desktop/Project/TweetParse/Parse_Tweets/stm/build/classes並且您需要創建類似A = JClass('stm.Stm') 也許看看如何將類安排到包中。 例如http://docs.oracle.com/javase/tutorial/java/package/packages.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM