Библиотека, которую использует мое java-приложение, ищет файл (log4j.xml) в пути к классам. Я использую netbeans для управления своим проектом, но не могу найти способ включить папку lib /.
Netbeans автоматически создает файл MANIFEST.MF внутри jar приложения, а также создает папку с именем lib /, которая включает все зависимости. Этот манифест определяет атрибут Class-Path, который переопределяет любой аргумент -cp, предоставленный в командной строке. Я могу выбрать произвольную папку на панели библиотеки netbeans, но она создает подпапку в пути к классам манифеста. Я хотел бы, чтобы все зависимости и файл log4j.xml находились в папке lib /.
Надеюсь, это возможно сделать в IDE. Я включил фрагмент автоматически сгенерированного файла build-impl.xml.
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries">
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
<pathconvert property="run.classpath.without.build.classes.dir">
<path path="${run.classpath}"/>
<map from="${build.classes.dir.resolved}" to=""/>
</pathconvert>
<pathconvert pathsep=" " property="jar.classpath">
<path path="${run.classpath.without.build.classes.dir}"/>
<chainedmapper>
<flattenmapper/>
<globmapper from="*" to="lib/*"/>
</chainedmapper>
</pathconvert>
<taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
<copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
<fileset dir="${build.classes.dir}"/>
<manifest>
<attribute name="Main-Class" value="${main.class}"/>
<attribute name="Class-Path" value="${jar.classpath}"/>
</manifest>
</copylibs>
<echo>To run this application from the command line without Ant, try:</echo>
<property location="${dist.jar}" name="dist.jar.resolved"/>
<echo>java -jar "${dist.jar.resolved}"</echo>
</target>
Спасибо.