最近用hibernate写了一个程序,准备打成一个可执行的Jar包,于是手工改Manifest.mf,然后发现第3方包在class-path那行放不下,分两行的话又认不出.无奈之下选择fatjar插件进行打包,打包后确实可以运行,但是发现我的config.xml也被打到jar包中,这样不能随时修改,很不方便,于是重新打包,不打config.xml,然后把xml文件放在打好的包的旁边,一点执行,说找不到config.xml.我想了一下,在程序中改成"/config.xml","./config.xml",都说找不到,无奈求助,如果把配置文件放在外面?

解决方案 »

  1.   

    ,在程序中改成??你应该在你运行的命令行里修改 CLASSPATHjava -cp .;XXX.jar;  -jar MyJar.jar
      

  2.   

    是这样的,我用Hibernate开发了一个程序,然后想把这个程序打成可执行包,因为用到的Jar包比较多,于是我用fatjar进行打包,hibernate都有一个hibernate.cfg.xml文件,如果把这个配置文件打到包里,可以顺利执行,但是我想把这个配置文件留在包外,方便修改,但是jar包就是找不到hibernate.cfg.xml,读取程序是这么写的
        private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
    然后我把目录打印出来,是E:\workspace\myProject
    hibernate.cfg.xml与打好的jar包都放在这个目录下,但是jar包就是读不到配置文件,我把程序改成
        private static String CONFIG_FILE_LOCATION = "./hibernate.cfg.xml";
        private static String CONFIG_FILE_LOCATION = "../hibernate.cfg.xml";
        private static String CONFIG_FILE_LOCATION = "hibernate.cfg.xml";
    都是读不出来,求救啊,折腾一天了还没弄好