小编Nik*_*kem的帖子

如何手动安装java库并将/ tmp保持为noexec?

我想在一个盒子,需要有运行Android SDK noexec/tmp.

我可以指出java tmp是另一个我可以执行的地方,但那会noexec破坏tmp 中需要警察的目的.所以我不想那样做.

我想正确安装sdk所需的库,但我的java生锈了.

当我尝试运行它时,我得到:

$ Android/Sdk/tools/android 
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-gtk-3550 or swt-gtk in swt.library.path, java.library.path or the jar file
    at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
    at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
    at com.android.sdkmanager.Main.showSdkManagerWindow(Main.java:403)
    at com.android.sdkmanager.Main.doAction(Main.java:391)
    at com.android.sdkmanager.Main.run(Main.java:151)
    at com.android.sdkmanager.Main.main(Main.java:117)
Run Code Online (Sandbox Code Playgroud)

我第一次尝试解决这个问题是:

$ sudo aptitude install libswt-gtk-3-java...
Selecting previously unselected package libswt-gtk-3-jni.
(Reading database ... 199270 files and directories currently installed.)
Preparing to unpack …
Run Code Online (Sandbox Code Playgroud)

java linux android

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

Oracle和Eclipse编译器生成的java字节码的差异

我们的项目执行一些Java字节码检测.我们偶然发现了一些奇怪的行为.假设以下代码段:

  public void a() {
    new Integer(2);
  }
Run Code Online (Sandbox Code Playgroud)

Oracle的javac将上面的代码编译成以下字节码:

   0:   new #2; //class java/lang/Integer
   3:   dup
   4:   iconst_2
   5:   invokespecial   #3; //Method java/lang/Integer."<init>":(I)V
   8:   pop
   9:   return
Run Code Online (Sandbox Code Playgroud)

和Eclipse的编译器进入:

   0:   new #15; //class java/lang/Integer
   3:   iconst_2
   4:   invokespecial   #17; //Method java/lang/Integer."<init>":(I)V
   7:   return
Run Code Online (Sandbox Code Playgroud)

如您所见,Oracle编译器在"new"之后生成"dup",而Eclipse则不然.在这个用例中完全正确,因为根本不使用新创建的Integer实例,因此不需要"dup".

我的问题是:

  1. 是否有一些不同编译器之间的差异概述?文章/博客文章?
  2. 我可以安全地得出结论,如果"new"和"invokespecial"之间没有"dup",那么初始化后不会使用对象吗?

java bytecode bytecode-manipulation

12
推荐指数
2
解决办法
734
查看次数

在Akka/Spray上阻止HTTP请求

我在Scala中使用Akka actor从外部服务(HTTP get请求)下载资源.外部服务的响应是JSON,我必须使用分页(提供程序非常慢).我想在10个线程中同时下载所有分页结果.我使用这样的URL来下载块:http://service.com/itmes? limit = 50& offset = 1000

我创建了以下管道:

ScatterActor => RoundRobinPool[10](LoadChunkActor) => Aggreator
Run Code Online (Sandbox Code Playgroud)

ScatterActor获取要下载的项目的总数,并将其划分为块.我创建了10个LoadChunkActor来同时处理任务.

  override def receive: Receive = {
    case LoadMessage(limit) =>
    val offsets: IndexedSeq[Int] = 0 until limit by chunkSize
    offsets.foreach(offset => context.system.actorSelection(pipe) !
    LoadMessage(chunkSize, offset))
 }
Run Code Online (Sandbox Code Playgroud)

LoadChunkActor使用Spray发送请求.演员看起来像这样:

val pipeline = sendReceive ~> unmarshal[List[Items]]
override def receive: Receive = {
  case LoadMessage(limit, offset) =>
    val uri: String = s"http://service.com/items?limit=50&offset=$offset"
    val responseFuture = pipeline {Get(uri)}
    responseFuture onComplete {
      case Success(items) => aggregator ! Loaded(items) …
Run Code Online (Sandbox Code Playgroud)

scala akka spray-client

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

使用Jenkins从机器B运行机器A的构建

我有2台电脑.Com-A,Com-B.

我在Com-A上使用selenium webdriver,Testng和maven构建了自动化功能脚本.

Com-A已经安装了Jenkins,但是Com-B只有jenkins,我可以运行Com-B部署在Com-A中的构建吗?或者我还要为Com-B安装所有必要的软件吗?

testng maven jenkins selenium-webdriver

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

如何在Gretty插件中选择特定的jetty版本

我正在使用Gretty插件从Gradle脚本运行Web应用程序.是否可以选择要运行的特定版本的jetty容器?不只是jetty9vs jetty8,而是例如9.2.13.v20150730

jetty gradle gretty

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

java.lang.ClassNotFoundException:org.aspectj.util.PartialOrder $ PartialComparable

我在我的Web应用程序中使用Spring 4.2.4.RELEASE,我想从中删除对aspectjweaver.jar的依赖.我不直接使用AOP,我当然不使用AspectJ.但我的应用程序失败,出现以下异常:

java.lang.ClassNotFoundException: org.aspectj.util.PartialOrder$PartialComparable
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:450)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.sortAdvisors(AspectJAwareAdvisorAutoProxyCreator.java:73)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:91)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:69)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:346)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:298)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
Run Code Online (Sandbox Code Playgroud)

有什么方法可以完全删除对aspectjweaver.jar的依赖吗?

java spring aspectj spring-aop

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

Spring Boot应用程序中的即时数据库重新配置

我有一个非常复杂的Spring Boot应用程序(包括Spring MVC和Security),除其他外,它还需要数据库配置(URL,用户名和密码)。要求是让最终用户在应用程序本身的帮助下配置数据库,如下所示:

  1. 用户启动没有数据库配置的应用程序
  2. 应用程序注意到缺少数据库配置,并向用户显示配置屏幕
  3. 用户输入网址和凭据
  4. 应用程序开始使用此数据库

明显的问题是,在知道DataSource该配置之前,我无法创建任何需要db的bean,这些bean 需要DB配置。

有什么方法可以推迟大多数应用程序Bean的初始化,直到执行第一个配置步骤?

-更新-一些应用程序的Bean通过其@PostConsutrct方法从数据库初始化其状态。因此,在提供配置后,我要么需要真正延迟它们的创建,要么要有一种刷新(可能)刷新应用程序上下文中所有bean的方法。

java spring spring-mvc spring-boot

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

IBM JVM类加载器如何保存类?

在HotSpot中,JVM java.lang.Classloader类具有此类加载器加载的所有类的Vector.所以只要他们的类加载器还活着,所有类都保存在内存中.在IBM JVM J9的java.lang.Classloader中没有这样的字段.至少我找不到一个.所以我的问题是:

  1. IBM JVM的类加载器在哪里持有类缓存?

  2. 如果与上述不同:IBM JVM中的哪些硬引用类,从而防止卸载?

java jvm memory-leaks classloader

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

在Jenkins上构建多项目Gradle

我在Mercurial仓库中托管了Gradle多项目.我想以这样的方式设置我的Jenkins,如果我只对1个子项目进行更改,那么只会构建该子项目并将其发布到我的Nexus repo.

有人可以给我一个暗示吗?或者它是否可能?

multi-project gradle jenkins

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

Spring Cloud Stream手动偏移管理

我可以使用 Spring Cloud Steam 实现手动 Kafka 偏移管理,如下所示:

  1. 每当我的消费者处理一条消息时,它就会将其偏移量提交到数据库中。不喜欢卡夫卡
  2. 每当我的消费者重新启动时,它都会从数据库中读取最后处理的偏移量,查找该偏移量并开始处理下一条消息。

java spring apache-kafka spring-cloud-stream

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