标签: java-6

JAXB:如何向内部元素添加属性

我有我想阅读的以下 XML。在 java 1.6 上使用 JAXB,如何为属性 regex 注释?我可以将字段设为 boolean 类型吗?

<?xml version="1.0" encoding="utf-8"?>

 <authStore>
  <authList>
       <auth>
         <resource>res1</resource>
         <privilege regex = "true">PRIV_FILE_.+?_READ</privilege>   
       </auth>
       <auth>
         <resource>res2</resource>
         <privilege>PRIV_FILE_READ</privilege>   
       </auth>
</authStore>
Run Code Online (Sandbox Code Playgroud)

更新:是否可以将属性设为可选?如果是,当我解组时,当特权元素没有可选属性 regex 时,我是否会得到 regex 字段为假?

UDPATE2 :我不想为资源和权限定义单独的类。另外,我不想使用 MOXy。请。建议仅适用于 sun/oracle JDK 1.6 JAXB 的解决方案。

UPDATE3:我当前的对象模型是这样的

// AuthStore.java
@XmlRootElement
public class AuthStore {

    @XmlElementWrapper(name = "authList")
    @XmlElement(name = "auth")
    private ArrayList<Auth> authList;

    public void setAuthList(ArrayList<Auth> authList) {
        this.authList = authList;
    }

    public ArrayList<Auth> getAuthsList() {
        return authList;
    }
}


// Auth.java    
@XmlRootElement(name = "auth")
@XmlType(propOrder …
Run Code Online (Sandbox Code Playgroud)

java attributes annotations jaxb java-6

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

如果尝试使用反射将值设置为String类的值[]字段,则Java 6和Java 7会产生不同的结果

以下代码尝试使用Java 7将值设置为private final char value[]String类的字段.

package test;

import java.lang.reflect.Field;

public final class Test 
{
    static
    {
        try
        {
            Field value = String.class.getDeclaredField("value");
            value.setAccessible(true);
            value.set("Hello World", value.get("1234567890"));
        }
        catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e)
        {
            System.out.println(e.toString());
        }
    }

    public static void main(String[] args) 
    {
        System.out.println("Hello World");
    }
}
Run Code Online (Sandbox Code Playgroud)

它默默地显示1234567890在控制台上,毫无疑问.


当我尝试使用Java 6做同样的事情,如下所示,

package test;

import java.lang.reflect.Field;

public final class Test
{
    static
    {
        try
        {
            Field value = String.class.getDeclaredField("value");
            value.setAccessible(true);
            value.set("Hello …
Run Code Online (Sandbox Code Playgroud)

java string reflection java-6 java-7

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

Aparapi 添加示例

我正在研究 Aparapi ( https://code.google.com/p/aparapi/ ),并且其中包含的示例之一有一种奇怪的行为。示例是第一个“添加”。构建并执行它,就可以了。我还放了下面的代码来测试GPU是否真的被使用

if(!kernel.getExecutionMode().equals(Kernel.EXECUTION_MODE.GPU)){
    System.out.println("Kernel did not execute on the GPU!");
}
Run Code Online (Sandbox Code Playgroud)

而且效果很好。但是,如果我尝试将数组的大小从 512 更改为大于 999 的数字(例如 1000),则会得到以下输出:

!!!!!!! clEnqueueNDRangeKernel() failed invalid work group size
after clEnqueueNDRangeKernel, globalSize[0] = 1000, localSize[0] = 128
Apr 18, 2013 1:31:01 PM com.amd.aparapi.KernelRunner executeOpenCL
WARNING: ### CL exec seems to have failed. Trying to revert to Java ###
JTP

Kernel did not execute on the GPU!
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

  final int size = 1000;

  final float[] a = new float[size];
  final float[] b = …
Run Code Online (Sandbox Code Playgroud)

macos opencl java-6 aparapi

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

如何在带有 Apache HttpClient 的 Java 6 中使用 TLS 1.2?

我正在使用 Apache HttpClient 3.5 和 Spring Web Services 2.1.0 处理 Java 6 项目。

我的 Spring WebServicesTemplate 正在使用 apache HttpClient 发送 WebServices 请求。但是,我正在联系的服务已逐步淘汰 TLS 1.0,转而支持 TLS 1.2。Java 6 不支持 TLS 1.2。我被引导到 bouncycastle,它应该给我 TLS 1.2 支持。

如何将 bouncycastle 与 Spring 或我的 HttpClient 集成,以便我可以发送支持 TLS 1.2 的请求?我找到了一个提供扩展 SSLSocketFactory 的解决方案。但是,HttpClient 只接受 SSLConnectionSocketFactory。

升级到 Java 8 在短期内是不可行的,但如果有人可以确认它会解决我的问题,我可以将其作为长期优先事项。

ssl spring httpclient java-6 tls1.2

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

使用 Eclipse 部署 Spring Boot Web 示例,从 war 到 EAR,再到 websphere 8

我已经使用 maven 创建了一个 web 项目并将其导入到 eclipse 中。然后,我在 cmd >> mvn spring-boot:run 上执行命令,服务器(嵌入式 tomcat)启动正常并且能够在浏览器上显示我的页面。但是,我不知道为什么它在 websphere 8 上部署后失败了。在部署之间或由于缺少配置,我猜一定出了问题..(我不知道!>.<)

我在网上尝试了很多解决方案,阅读文档,在样本上重建样本,但似乎没有任何效果。由于我公司的安全政策(由于网络安全,我什至无法访问谷歌驱动器),我无法在此处上传任何内容。但是按照步骤应该足够接近重现我的情况(我确实尝试了很多次但它失败了,我不知道为什么!对不起,我很沮丧)

这是我正在使用的:

  • 日食开普勒
  • Websphere 应用服务器 v8.0
  • 爪哇 6
  • 行家
  • 弹簧启动 1.4.1.RELEASE

长话短说:

  1. 下载示例 Web 项目
  2. 解压缩并将其作为现有的 maven 项目导入到 Eclipse 中
  3. 打开cmd,cd到项目目录(可以看到pom.xml)
  4. 发出命令:“mvn package”,成功打包后,发出命令:“mvn spring-boot:run”并在浏览器上打开[localhost:8080]。您应该能够看到一个虚拟网页。

对于在线找到的大多数样本,我可以做到这一点,但麻烦来了

  1. 创建 EAR 应用程序项目
  2. 在 Eclipse 中打开服务器选项卡并将 EAR 项目添加到 WebSphere Application Server v8。这里有一个错误:[不能将 EAR 项目添加到服务器,除非它包含 Web、EJB 或连接器模块。]第一个问题

然后我找到了这个链接 [ http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-servlet-2-5],我想我需要一个 web.xml该项目。我在 /webapp/WEB-INF 下创建了一个新文件 web.xml 并从#howto-servlet-2-5 页面复制并粘贴了整个代码。这样对吗??

  1. 现在可以将 EAR 添加到 Websphere Application Server v8.0,转到 (WAS) 管理控制台,为该项目选择一个虚拟主机,保存并重新启动服务器。

  2. 在 Web …

eclipse maven java-6 web spring-boot

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

Java 6中路径的替代方法?

我想检索Java 6中当前目录的绝对路径,但是不能使用Paths

String currentDirectory = Paths.get(".").toAbsolutePath().normalize().toString();
Run Code Online (Sandbox Code Playgroud)

有什么选择?

java path java-6

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

执行 org.apache.maven.plugins:maven-resources-plugin:2.6:resources 时缺少 MavenFilteringException

在使用 maven 3.2.5 和本地存储库编译我的项目(在 java6 上)并下载了所有必需的 jar 时,我遇到了异常。该项目使用 maven2.0 构建良好,我们正在升级到 3.2.5。下载了所有必需的依赖 jar,但即使我看到存储库中存在 maven-filtering jar,它仍然会抱怨以下错误。

另外,我尝试了以下选项,但错误仍然相同。我在这里缺少其他任何地方或设置吗?

  • 在 repository-new\org\apache\maven\shared 中复制了 maven-filtering 1.1
  • 在 repository-new\org\apache\maven\shared 中复制了 maven-filtering 3.1.1
  • 清理 .m2 本地缓存
  • 在 repository-new\org\apache\maven\maven-filtering 中复制了 maven-filtering 1.1
  • 在 repository-new\org\apache\maven\maven-filtering 中复制了 maven-filtering 3.1.1

错误堆栈跟踪:

realm =    plugin>org.apache.maven.plugins:maven-resources-plugin:2.6
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/C:/coding/repository-new/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.jar
urls[1] = file:/C:/repository-new/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
Number of foreign imports: 1
import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

-----------------------------------------------------

        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) …
Run Code Online (Sandbox Code Playgroud)

maven-plugin maven-3 maven java-6

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

为什么我们在 Deque 中有 offer(E e) 和 offerLast(E e) 方法,即使它们解决了相同的目的

我试图理解,为什么我们需要OfferOfferLast方法Deque,因为这两种方法都在Deque. 它的意义何在?

java collections deque java-6

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

Java 6的Desktop.browse()可能在我遇到的任何系统上都不受支持吗?

我看到新的Desktop类(我想用它的浏览(uri)方法)包括检查以验证它是否受支持.如果我正在为多个操作系统分发我的应用程序,我是否应该期望它有时不受支持,并坚持像"Bare Bones Browser Launch"这样的代码作为后备方法,或者这是非常罕见的?任何特定的操作系统,我可能会遇到问题?

(我正在分发Mac/Win/Solaris/Linux,但如果您对它们有所了解,请随时回答有关任何特殊操作系统的问题.)

java java-6

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

为什么List <Object> list = new ArrayList <String>()这会给出TypeMismatch错误

List<Object> list = new ArrayList<String>()
Run Code Online (Sandbox Code Playgroud)

当我使用上面的行编译器给我类型不匹配错误.但正如我所理解的,Object是String的超类,如果我创建了对象列表,那么它也应该接受String.那么为什么上述陈述是错误的.我正在寻找解释.

java collections arraylist java-6

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