标签: classpath

Java -jar:访问外部配置文件

我正在寻找一些我认为不会有困难的事情.

我有一个应用程序,我想打包成jar,因为我有~30个依赖项,我希望能够部署单个文件.

我有一些配置文件 - 属性文件和弹簧配置文件,以及我的log4道具文件 - 我希望在jar外部.我想我希望如果我将它们放在与jar相同的目录中,它会在运行时找到它们,但事实并非如此.

在开发过程中,我将这些文件放在我的eclipse项目的类路径的根目录下,应用程序发现它们就好了.我觉得我错过了jar/classpath理论的一些关键方面......

所以我想要的是能够将配置文件和jar放在同一目录中,并让我的应用程序找到配置文件,当我用标准的java -jar运行它时.

有没有一种简单的方法来实现这一目标?

java configuration jar external classpath

9
推荐指数
2
解决办法
2万
查看次数

找不到org.json.JSONObject

我正在开发一个使用该org.json.JSONObject包的Java项目.但是,每当我在eclipse中使用它时,它都说没有找到这样的包.然而,当我在android上开发即在eclipse中创建一个新的Android项目时,我可以在不做任何事情的情况下使用它(不添加外部JAR和东西),所以我很确定所需的JAR在我的机器上.

但是,在我的整个文件系统上搜索"org.json","*json*jar","json*jar"并没有返回任何内容.

java eclipse classpath org.json

9
推荐指数
1
解决办法
1万
查看次数

<mvc:resources>如何使用类路径位置

为了解决这个问题,我搜索了高低,但我找不到解决方案.问题如下:我在Tomcat 7服务器上有一个Spring-mvc webapp构建 - 确切地说是7.0.12 - 而且我无法使<mvc:resources>标记正常工作.正如您将在下面看到<mvc:resources>的旧资源文件夹的工作,但我更喜欢在/WEB-INF/web/目录中有资源文件夹.

MediorkoorVOICES的Web-servlet.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
      http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">        

    <context:component-scan base-package="com.oudejans.mediorkoorvoices.web" /> 

    <mvc:resources mapping="/resources/**" location="/WEB-INF/web/resources/"  />  
    <mvc:annotation-driven />

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/web/jsp/" />
        <property name="suffix" value=".jsp" />
        <property name="order" value="1" />
    </bean>

    <bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> 

    <import resource="web/tiles/web-tiles.xml" />
</beans>
Run Code Online (Sandbox Code Playgroud)

文件夹结构:

META-INF
resources (Old resources folder)
    - web
        - images
        - css
            - main.css      
WEB-INF …
Run Code Online (Sandbox Code Playgroud)

resources spring spring-mvc classpath

9
推荐指数
1
解决办法
2万
查看次数

使用groovy-all jar运行Groovy脚本时,如何指定类路径?

我找到了一个在没有使用groovy-all jar文件安装Groovy的系统上运行Groovy脚本的示例.我尝试了以下方法:

java -cp src:.:lib/* -jar lib/groovy-all-2.0.1.jar src/com/example/MyScript.groovy
Run Code Online (Sandbox Code Playgroud)

问题是我的脚本依赖于lib目录中的jar以及位于src/com/examples中的另外两个Groovy脚本文件.当我运行它时,它会抱怨所有这些的import语句.我可以通过使用以下方法在安装了Groovy的系统上运行它:

CLASSPATH="src:.:lib/*" groovy src/com/example/MyScript.groovy 
Run Code Online (Sandbox Code Playgroud)

如何使用groovy-all jar以这种方式运行Groovy脚本,并为其提供类路径?

java groovy classpath

9
推荐指数
1
解决办法
1万
查看次数

为java编译设置slf4j的类路径

我在设置classpathfor slf4jfor 时遇到问题compiling java files.我尝试了两种方式:1.提供classpath的command line

javac -cp /Users/page/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar src/main/java/com/scg/domain/*.java src/main/java/com/scg/util/*.java
Run Code Online (Sandbox Code Playgroud)

这给出了以下错误:

src/main/java/com/scg/util/ListFactory.java:8: error: package org.slf4j does not exist
import org.slf4j.Logger;
                ^
src/main/java/com/scg/util/ListFactory.java:9: error: package org.slf4j does not exist
import org.slf4j.LoggerFactory;
...../long error message
Run Code Online (Sandbox Code Playgroud)
  1. 我试图export将CLASSPATH我的env变量.

export CLASSPATH=/Users/page/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar

当我尝试时,这也没有帮助并导致同样的错误

javac src/main/java/com/scg/domain/*.java src/main/java/com/scg/util/*.java
Run Code Online (Sandbox Code Playgroud)

我正在尝试将compile所有java文件分成两部分packages.但我需要slf4j在我的课程中. but somehow I am not able to get it work. 感谢

java javac classpath slf4j

9
推荐指数
1
解决办法
2万
查看次数

如何使用Eclipse在调试模式下运行Dropwizard应用程序?

我想在调试模式下运行我的Dropwizard 0.8.5应用程序,其中:

  • 该应用程序使用JPDA在本地运行; 和
  • 在我的IDE(Eclipse)中,我设置断点并使用JPDA客户端连接到我本地运行的应用程序(我认为这是怎么回事)

对于服务器调试模式:

通常我的DW应用程序从命令行运行,如下所示:

java -jar build/libs/myapp.jar server src/test/resources/myapp-local.yml
Run Code Online (Sandbox Code Playgroud)

那么在调试模式(JPDA)中运行它的命令行参数是什么,或者myapp-local.yml完成此操作所需的修改是什么?


对于Eclipse/JPDA客户端

我假设我只是设置断点,然后在Eclipse中创建一个新的调试配置,但不确定使用什么参数/配置来设置此配置.有任何想法吗?

java classpath default-package dropwizard

9
推荐指数
1
解决办法
5943
查看次数

JPA persistence.xml类路径是否位于?

这就是我想要做的.我在Web应用程序中使用JPA持久性,但我有一组单元测试,我想在容器外运行.

我的主应用程序位于我的主应用程序persistence.xml的META_INF文件夹中,它在容器(Glassfish)中运行良好.

我persistence.xml在META-INF我的test-classes目录的文件夹中放了第二个.这包含一个单独的持久性单元,我只想用于测试.在eclipse中,我将此文件夹放在类路径中比默认文件夹更高,它似乎工作.

现在,当我直接从命令行运行maven构建并尝试运行单元测试时,将persistence.xml忽略覆盖.我可以META-INF在maven生成的test-classes目录的文件夹中看到覆盖,我希望maven测试使用这个文件,但事实并非如此.我的Spring测试配置覆盖,以类似的方式实现了工作.

我很困惑是否persistence.xml位于类路径中.如果是,我的覆盖应该像弹簧覆盖一样工作,因为maven surefire插件解释 "[测试类目录]将包含在测试类路径的开头".

我错误地预测了persistence.xml文件的位置吗?

我可以(并且已经)在生产persistence.xml文件中创建第二个持久性单元,但是将测试配置放入此生产文件中会感觉很脏.关于如何实现我的目标的任何其他想法都是受欢迎的.

java maven-2 unit-testing jpa classpath

8
推荐指数
1
解决办法
1万
查看次数

SVN:忽略操作方法和操作方法?

在我看来,在.classpath等文件中添加属性svn:ignore是个好主意.我同时使用Windows(work,ugh)和Linux开发环境,每次与存储库同步时,它都会覆盖我正在处理的任何一台机器上的.classpath.

我尝试在Team Sync透视图中右键单击.classpath文件,但svn:ignore选项显示为灰色.

任何想法我可能:1.从源代码控制中获取此项,2.将其添加到忽略列表?

任何其他文件智能添加到此列表?

subclipse svn classpath svnignore heterogeneous

8
推荐指数
1
解决办法
1万
查看次数

运行junit测试时的ZipException

我一直试图让ant执行一些用junit编写的测试.任何建议将不胜感激.我对ant和Java都很陌生,所以请耐心等待.

作为一个快速总结,我正在做的是尝试让ant执行一个非常简单的测试,类路径看起来很好,考虑到ant -debug的输出.我在类路径中明确提到类文件的测试时遇到空测试错误.此外,我得到一个ZipException,我不知道那是什么.

这是我正在尝试运行的测试用例:

package testmanagment;
import junit.framework.*;

public abstract class EasyTest extends TestCase
{

    public EasyTest(String name)
    {
        super(name);
    }

    protected void setUp()
    {}

    protected void testSeeMee() throws Exception
    {
        assertTrue(true);
    }

    protected void testSeeMeetoo() throws Exception
    {
        assertTrue(true);
    }   
}
Run Code Online (Sandbox Code Playgroud)

包中有一些测试,这只是为了看看为什么一切都失败了.它失败了ZipException.

这是我的make文件的一小部分:

  <property name="src" value="src/"/> 
     <property name="build" value="build/"/>  
     <property name="test" value="${build}test/"/>
     <property name="testreportsdir" value="${test}reports/"/>
     <property name="classdir" value="${build}classes/"/>
     <property name="lib" value="lib/"/> 

    <path id="files-classpath">  
        <fileset dir="lib/" >  
            <include name="*.jar"/>  
        </fileset>  
    </path> 

    <path id="tests-classpath">
        <path refid="files-classpath"/>
        <pathelement location="${classdir}/"/>
    </path>

    <path id="tests-runpath"> …
Run Code Online (Sandbox Code Playgroud)

java ant junit exception classpath

8
推荐指数
1
解决办法
3671
查看次数

无法使用:cp命令将jar添加到scala repl

如果我发出:

$ scala -classpath poi-3.9/poi-3.9-20121203.jar 

scala> import org.apache.poi.hssf.usermodel.HSSFSheet
import org.apache.poi.hssf.usermodel.HSSFSheet
Run Code Online (Sandbox Code Playgroud)

一切正常,但如果相反我发出:

$ scala

scala> :cp poi-3.9/poi-3.9-20121203.jar
Added '/home/sas/tmp/poi/poi-3.9/poi-3.9-20121203.jar'.  Your new classpath is:
".:/home/sas/tmp/poi/poi-3.9/poi-3.9-20121203.jar"
Nothing to replay.

scala> import org.apache.poi.hssf.usermodel.HSSFSheet
<console>:7: error: object apache is not a member of package org
       import org.apache.poi.hssf.usermodel.HSSFSheet
                  ^
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

scala jar classpath read-eval-print-loop

8
推荐指数
2
解决办法
1382
查看次数