我在Windows XP上使用maven3.03和Eclipse 3.5.我将旧的Web项目转换为maven配置样式.
当我在eclipse中编译项目时,所有编译.
注意:类路径包含:Maven依赖项和JDK(1.6_018).
当我使用mvn从命令行编译时,我得到的错误很少:
1.package com.sun.xml.internal.stream.buffer.stax不存在.
2.package com.sun.xml.internal.stream.writers不存在
3.无法找到符号 - 符号:class XMLDOMWriterImpl
4.package com.sun.xml.internal.messaging.saaj.util不存在
5.package com .sun.xml.internal.bind.v2.runtime.unmarshaller不存在
6.无法找到符号 - 符号:class NamespaceContexHelper
7.无法找到符号符号:class ByteOutputStream
我可以看到这个东西与阳光罐.但我只是无法理解为什么eclipse是好的而且命令行不是.
编辑:我在上面的列表中没有提到的错误之一是:
[ERROR]<path>\EventsViewer.java:[54,69] inconvertible types found: <br>java.util.SortedMap<java.util.Date,java.util.List<com.myClass>>
required: java.util.Map<? extends java.util.Date,? extends java.util.List<com.myOtherClass>>
Run Code Online (Sandbox Code Playgroud)
当我在日食中看到同一行时,我得到警告:
Type safety: Unchecked cast from SortedMap<Date,List<myClass>> to Map<? extends Date,? extends
List<myOtherClass>>
Run Code Online (Sandbox Code Playgroud)
在Eclipse中我得到警告,在maven中我得到错误.我检查了org.eclipse.jdt.core.prefs并看到设置是org.eclipse.jdt.core.compiler.problem.forbiddenReference = warning.
更新:我读到了上面的一些错误."问题"是在eclipse中它显示为未使用的导入.Stangly maven将此报告为错误.删除此未使用的导入后,错误消失了.但问题3和7仍然存在
结论:我猜这些警告会成为javac中的错误.因为我不使用任何supressWarnings.我很惊讶错误是不同的.它是什么?
jre附带了许多rt.jar中的库,其中一个是com.sun.istack.internal*.我需要com.sun.istack.internal.Nullable(我发现谷歌在其CacheBuilder中使用它)的文档,我首先想到的是去docs.oracle.com找到它的文档,在那里我一无所获.接下来转到源自jdk的源文件夹,我在所述文件夹中找不到com名称实体.接下来我看一下jre7的发布,看看所有的包和类,发现那里没有提到Nullable.虽然SO有一个提到它,但没有什么具体的.我仍然感到困惑,如果需要,在哪里获得它的文档和src.我甚至在oracle看过遗留的sun api文档,但没有提到它.oracle在哪里记录有关移植包的政策以及它们是标准的还是非标准的.他们必须在某处记录它只是因为我花了太多时间去那里.
请指点我.
编辑:实际上javax.annotation.Nullable正在谷歌CacheBuilder中使用,而不是com.sun.istack.internal.Nullable.对于可能面临此问题的人:javax.annotation.Nullable现在不是Java SE的一部分,它正在jsr305 jar中移植.因此,如果您计划使用CacheBuilder或只是通过其代码,请在类路径中添加jsr305 jar,否则eclipse会混淆并指向com.sun.istack.intenal.Nullable,只要您将光标悬停在Nullable上.
I am modifying an existing class using internal sun APIs (com.sun.tools.javac) with an annotation processor. I am able to generate and add a MethodDecl to a ClassDecl using the following code:
JCTree.JCClassDecl classDecl = ...
JCTree.JCMethodDecl methodDecl = ...
JCTree[] trees = new JCTree[classDecl.defs.length() + 1];
trees[classDecl.defs.length()] = methodDecl;
classDecl.defs = List.from(trees);
Run Code Online (Sandbox Code Playgroud)
This works fine until I try to add parameters to the method declaration. I use the following code to generate a new MethodDecl:
Map<String, Class<?>> …Run Code Online (Sandbox Code Playgroud) 随着Oracle方面的最新公告,我们已经开始制定一项计划,逐步淘汰从Sun JVM迁移到我们最终将采用的任何可靠和免费的替代方案.
开放式JDK显然将成为一个主要的选择,现在IBM已经宣布了它的重点,但在稳定性和可靠性方面,它需要一些时间来替代Sun现有的JVM.
是否有任何JVM选项,它们为现实生活中的关键任务应用程序提供动力?据我所知,IBM的JVM不能在IBM硬件之外使用.
如果您知道任何可能有助于我们描绘JVM域图片的替代方案,那么您的反馈将非常受欢迎.
我们在Eclipse生态系统方面做了大量工作,并使用jboss应用程序服务器进行了备份,我们现在非常有兴趣知道我们的选择,因为访问Oracle的JVM可能需要许可费.
我找到了一个java code,想在我的项目中使用它.它包含我JDK没有的这些导入:
import com.sun.awt.AWTUtilities;
import com.sun.jna.Native;
import com.sun.jna.platform.WindowUtils;
Run Code Online (Sandbox Code Playgroud)
我提到了sun网站,发现了这个下载页面:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
是否有必要全部下载JDK并JRE从SUN网站上更换?我JDK是版本6并且是最新的.
谢谢你们
我正在学习java nio,并发现实现类都在sun.nio,它似乎没有提供源代码jdk1.6/src.zip.
有包开源吗?哪里可以找到它们的来源?
我想在RHEL 4.x上安装sun jdk 6
yum install java-1.6.0-sun-devel但是发现我必须订阅补充服务器通道.我怎么做?
提前致谢!
前言:
我正在尝试sun.nio.ch.SourceChannelImpl使用JDK中存在的包私有构造函数的包私有类子类(在rt.jar中),所以我必须在sun.nio.ch包中创建它.
这是我的子类:
package sun.nio.ch;
import java.io.FileDescriptor;
import java.nio.channels.spi.SelectorProvider;
class MySourceChannel extends SourceChannelImpl {
public MySourceChannel(SelectorProvider sp, FileDescriptor fd) {
super(sp, fd);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的简单测试:
package sun.nio.ch;
import java.io.FileDescriptor;
public class Main {
public static void main(String[] args) {
new MySourceChannel(null, FileDescriptor.in);
}
}
Run Code Online (Sandbox Code Playgroud)
而这是失败:
Exception in thread "main" java.lang.IllegalAccessError: class sun.nio.ch.MySourceChannel cannot access its superclass sun.nio.ch.SourceChannelImpl
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native …Run Code Online (Sandbox Code Playgroud) 虽然tools.jar它不是 JRE 中的一个组件,但它附带了 JDK 的所有主要实现,例如 Oracle JDK 和 OpenJDK。
不是 JRE 的标准组件意味着当我分发使用 的 Java 应用程序时tools.jar,我必须将它与应用程序包一起分发或将其包含在类路径中。
我的问题是:
tools.jar,但是 OpenJDK 呢,我们可以从 OpenJDK 分发 tools.jar 以避免许可问题吗?我不能为我的生活弄清楚我可以在哪里下载javacomm库.
这个页面上有一个下载链接http://www.oracle.com/technetwork/java/index-jsp-141752.html,它带我到一个页面,上面写着:
Sun下载中心已于2011年7月31日退役.寻找Sun下载的客户应访问以下Oracle网站之一:
Oracle E-Delivery(https://edelivery.oracle.com)用于下载单独许可的软件产品Oracle Technology Network(http://otn.oracle.com),用于下载用于开发My Oracle Support的软件(https:// support. oracle.com)用于下载硬件相关下载和软件产品补丁和更新
这些网站似乎都没有......