标签: classpath

从头开始编写Java标准类库替代方案

我只是很好奇,但我想知道是否可以完全删除JVM附带的Java标准类库,并从头开始一个新的[àLlassPath].

如果可能,那么哪些类必须实现最少?(对象和字符串出现在我的脑海中,但是......我不知道).

这样的事情打破了一些许 有没有办法对"java"命令说"不使用rt.jar"?

提前致谢,

埃内斯托

java classpath

3
推荐指数
1
解决办法
541
查看次数

javah帮助 - "在命令行上没有指定类"

我正在运行安装了Eclipse的Ubuntu Linux,并且我正在尝试使用JNI这样做我需要使用javah,但它似乎没有工作我刚刚安装了Ubuntu并且不熟悉Linux/bash炮弹

对于我的eclipse项目myJNI,我有一个包含本机方法的类DoJNI.

在终端:

javah -classpath .;\home\thomas\Documents\LinuxProgramming\EclipseWorkspace\myJNI\bin\org\me\jni DoJNI
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:在命令行上没有指定类

java classpath

3
推荐指数
1
解决办法
4288
查看次数

RESTFul Webservice批注中的问题

我正在尝试使用Jersey编写RESTFul Web服务.

package sample.hello.resources;

@Path("/hello")
public class HelloResource  {   
    @GET
    @Produces({MediaType.TEXT_PLAIN})
    public String sayHello() {
        return "Hello Jersey";
    }
}
Run Code Online (Sandbox Code Playgroud)

我的Eclipse给出了所有注释的错误 - @Path, (Path cannot be resolved to a type)

我是否需要包含任何其他库或在Eclipse中配置项目?

java eclipse rest classpath jersey

3
推荐指数
1
解决办法
3271
查看次数

使用Xstream,需要澄清

考虑一个简单的Xsctream示例来从Bean创建JSON:

Bean bean = new Bean();
bean.addNames("John", "Doe");
bean.addNames("Jane", "Doe");

XStream xstream = new XStream(new JettisonMappedXmlDriver());    
xstream.setMode(XStream.NO_REFERENCES);

System.out.println(xstream.toXML(bean));
Run Code Online (Sandbox Code Playgroud)

结果是

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/jettison/mapped/Configuration
    at com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver.<init>(JettisonMappedXmlDriver.java:55)
    at Main.main(Main.java:12)
Run Code Online (Sandbox Code Playgroud)

请注意,应该按原样导入

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
Run Code Online (Sandbox Code Playgroud)

包括适当的罐子

在此输入图像描述

java xstream classpath

3
推荐指数
1
解决办法
4060
查看次数

如何从命令提示符编译servlet?

我想servlet从命令提示符编译一个非常基本的,但它总是不成功,编译器告诉我以下内容:

 error: package javax.servlet does not exist.
Run Code Online (Sandbox Code Playgroud)

我搜索了解决方案,我发现我需要将servlet.jar库包含到我的PATH中.我相信我做到了.我坚信我的计算机中这些库的位置是:

C:\apache-tomcat-7.0.23\lib\servlet-api.jar\ 
Run Code Online (Sandbox Code Playgroud)

我的PATH的结尾(相关部分)如下:

%JAVA_HOME%\bin;C:\apache-tomcat-7.0.23\lib\servlet-api.jar\
Run Code Online (Sandbox Code Playgroud)

对我来说,它看起来不错,但显然不是.谁能告诉我可能是什么问题?

java compiler-construction servlets classpath

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

在tomcat类路径中包含web-inf/lib中的目录

在我的webapp中; 默认情况下,在classpath中添加WEB-INF/lib,这很好.现在,我想在tomcat的类路径中添加spring jar文件.如果我将所有jar文件放在WEB-INF/lib中; 它工作正常.但是如果我想添加一个目录WEB-INF/lib/spring并将所有jar文件放在spring目录下; 它不起作用.如何在类路径中包含WEB-INF/lib/spring.

我更愿意在web.xml中进行更改,因为它非常本地化为我的webapp.当然我不想在catalina.properties中进行更改,因为所有jar文件都在JVM中加载(不仅仅是在类路径中添加)

java tomcat classpath tomcat6

3
推荐指数
1
解决办法
3902
查看次数

java classpath通配符行为

java -classpath以前成功地使用了通配符扩展功能.我目前遇到了一个奇怪的问题.

通配符应该扩展到jar指定文件夹中的每个文件夹.以下是Oracle的一句话:

Class path entries can contain the basename wildcard character *, 
which is considered equivalent to specifying a list of all the files 
in the directory with the extension .jar or .JAR. For example, the 
class path entry foo/* specifies all JAR files in the directory 
named foo. A classpath entry consisting simply of * expands to a 
list of all the jar files in the current directory.
Run Code Online (Sandbox Code Playgroud)

这是关于classpath主题的Java 6上的Oracle doc链接.

我看到的行为与此相矛盾.这是3次运行.第一个明确地命名jar,所以它的工作原理.其他人使用通配符并失败.为什么?这对我来说很重要,因为我依赖通配符(其他地方),所以对这种意外行为的理解对我来说很重要. …

classpath

3
推荐指数
1
解决办法
2650
查看次数

从命令行编译.java文件 - 外部库,类路径

我在Eclipse中创建了一个项目,现在我正在尝试确保从命令行编译.java文件.我一直在尝试javac *.java在包含所有.java文件的文件夹中进行编译.但是,这会导致由于从外部库Joda-time引用类而导致的错误.我有以下.classpath文件,Eclipse为该项目制作但不知道如何处理它.

    <?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
    <classpathentry kind="lib" path="libs/joda-time-2.2.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)

我尝试编译javac -classpath *.java但这只会产生更多错误.我的源文件位于'src'文件夹内的包文件夹中.我在哪里放置我的classpath文件和我的joda-time-2.2.jar文件,以及如何编译所有内容?

[编辑]我正在使用Windows 7

java compiler-construction command-line classpath libraries

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

使用Spring启动加载器WarLauncher时如何在war文件之外加载属性文件?

我通过指定WarLauncher(Spring引导加载程序的一部分)作为我的启动类创建了一个可执行war文件.当所有配置文件(属性,弹簧上下文等)都是我的资源文件夹的一部分时,它工作正常.我希望我的战争的消费者需要控制属性文件.因此,它需要在war文件之外加载.我期待配置文件夹中的属性文件(与war文件并排部署).我试图通过使用maven插件向清单添加适当的类路径条目,但它没有奏效.

以下是我的maven POM文件的相关部分的外观:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-war-plugin</artifactId>
   <version>2.3</version>
   <configuration>
      <archive>
         <manifest>
            <addClasspath>true</addClasspath>
            <mainClass>org.springframework.boot.loader.WarLauncher</mainClass>
         </manifest>
         <manifestEntries>
            <Start-Class><<myclass_dont_worry_about_this>></Start-Class>
            <Class-Path>config/</Class-Path>
         </manifestEntries>
      </archive>
      <failOnMissingWebXml>false</failOnMissingWebXml>
   </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我使用Spring ClassPathResource()来加载属性文件.以下显示了相同的代码段:

 InputStream stream = new ClassPathResource(classPathConfigFilePath).getInputStream();
 Proerties properties = new Properties();
 properties.load(stream);
Run Code Online (Sandbox Code Playgroud)

在运行时,它无法找到导致FileNotFoundException的属性文件.

谢谢.

java war manifest classpath spring-boot

3
推荐指数
1
解决办法
6666
查看次数

Jar依赖项 - 应用程序服务器类路径vs将其添加到应用程序war本身

我们安装了Weblogic 10.3.6.在其上运行的应用程序需要以下jar

com.oracle.ws.http_client_1.3.0.0.jar
Run Code Online (Sandbox Code Playgroud)

上面的jar位于服务器包Oracle\Middleware\modules\com.oracle.ws.http_client_1.3.0.0.jar中

什么是正确的方法?这个jar(看起来是由Oracle编写的系统库,在mvnrepository网站上找不到)是否应该添加到服务器类路径中,还是应该将它添加到应用程序存档(war)?谢谢.

更新:上面的jar也捆绑了Weblogic(默认情况下没有添加到classpath),并且在maven public repo中找不到.那么,这不是要直接添加到应用程序中吗?

java jar war classpath weblogic-10.x

3
推荐指数
1
解决办法
1422
查看次数