问题标签 [tanuki]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
115 浏览

maven - 如何使用 Maven appassembler-maven-plugin 将 #include 文件添加到 Tanuki 包装器中

Tanuki包装器允许您使用属性覆盖配置

我正在使用 maven 生成 jsw 配置,但在appassembler-maven-plugin 中看不到添加以下行的方法

到 wrapper.{app}.conf 文件

也许有一点背景知识,因为这可能不是最好的方法我想为每个环境创建一些启动脚本所以说对于 SIT,我想要坐小、坐中、坐大、坐(默认特大) 我可以通过在我的 pom 中定义多个守护进程来轻松地做到这一点

我想要克服的是大小之间共享配置的不断重复,因为除了一些大小参数之外它们基本上是相同的所以我想定义一个覆盖属性文件,它将具有所有默认值,但我的 pom 中的守护进程定义将具有独特的尺寸配置

0 投票
0 回答
608 浏览

java - Maven appassembler-maven-plugin 和 Tanuki JSW 使用高于 3.2.3 的版本

我正在使用带有appassembler-maven-plugin的Tanuki包装器, 默认情况下它似乎使用的是 Tanuki 3.2.3

我想使用更高版本的 Tanuki,但我不知道该怎么做。有一些讨论认为 appassembler-maven-plugin 卡在 3.2.3 上,这是真的吗?

[更新]好吧,从我现在的理解来看。appassembler-maven-plugin 在插件中包含了 tanuki jsw 源代码,这就是为什么它停留在 3.2.3 的原因,因为该版本之后许可发生了变化。

您仍然可以将 appassembler 插件与更高版本的 Tanuki 一起使用,但您必须自己解压缩 Tanuki 发行版。Tanuki JSW 不提供 maven 集成。

0 投票
1 回答
836 浏览

java - Tomcat 7 ClassLoader 如何从 2 个 webapps、相同的包/类层次结构、不同的类加载?

我有这种情况:

  1. //Tomcat7/webapps/app1/WEB-INF/classes/a/b/c/A.class
  2. //Tomcat7/webapps/app1/WEB-INF/classes/a/b/c/B.class
  3. //Tomcat7/webapps/app2/WEB-INF/classes/a/b/c/B.class(类不同但同名<2>)
  4. //Tomcat7/webapps/app2/WEB-INF/classes/a/b/c/C.class

注意:类目录层次是一样的,只是类文件不同。

app1 的日志文件包含A.class 的 NoClassDefFoundError。检查目录,类文件肯定在那里。现在我想弄清楚 ClassLoader 是否有可能只加载 B.class 而不是 A.class,尽管每个 webapps 应该有一个 ClassLoader - 意味着两个 ClassLoader?

任何想法这是如何工作的?

编辑:Tomcat7 是通过 Tanuki JWS 启动的。从 wrapper.log 可以看到 app2 先初始化,然后才初始化 app1。

问候,艾伦

0 投票
1 回答
65 浏览

tanuki - Tanuki升级:JVM配置版本

我目前正在使用旧的 tanuki 版本 3.2.3,并移动到最新的 3.5.25。我遵循了升级文档:修改我的脚本,更改 jar 和二进制包装器……等等。在 JVM 启动期间进行调试,我可以看到 wrapper.conf 中定义的每个附加参数如下所示:

但是有一些额外的参数,我不知道它们在哪里设置:

特别烦人的是版本一。它仍然是旧的。有人知道我可以在哪里更改此配置参数吗?

包装器(3.2.3 版)http://wrapper.tanukisoftware.org

谢谢!最好的

0 投票
1 回答
816 浏览

java - WrapperManager 无法解析错误:Java Service Wrapper

我正在尝试实现此处给出的示例:http: //benjsicam.me/blog/running-a-java-application-as-a-windows-service-part-1-tutorial/ 该代码基本上将Java应用程序变成一项服务。应用程序以特定间隔将日期和时间输出到控制台。整个项目被导出到一个可运行的JAR 文件中,所需的库位于一个单独的文件夹中。我所要做的就是修改wrapper.conf文件以运行 Main.jar(这是导出的 JAR)并将导出的库放在 lib 文件夹中。我已经完全遵循了一切,但我遇到了以下问题:WrapperManager cannot besolved. 我包括显示 Maven 项目结构、POM.xml 的内容和四个 Java 文件的代码内容的快照链接。还包括 Google Drive 中所需的源文件。

Java版jdk1.8.0_11

主.java

谷歌云端硬盘链接

错误显示: WrapperManager 无法解析

Wrapper.conf 文件(删除了大部分评论+顶部)

0 投票
1 回答
278 浏览

java - tanukisoft daemon wrapper 和 appassembler maven 插件 - 如何解决冲突的 jar 名称?

我正在使用http://wrapper.tanukisoftware.com/包装器,并且有两个 jar 文件,它们具有相同的 artifactIds 和相同的版本字符串,但 groupIds 不同。有什么方法可以防止在组装分发 zip 时丢失两个 jar 文件之一,即。使用 groupId 作为文件名前缀?

0 投票
1 回答
8308 浏览

tomcat6 - Hybris - 分离 hybris 和控制台日志

为了将 hybris 日志与控制台(catalina)包装器(tanuki)和 tomcat 分开,我创建了这两个配置。

这被放入 local.properties 并在 hybris.log 中创建日志我还创建了这个:

它放置在 log4j_init_tomcat.properties 中,它作为 tanuki 包装器加载为

Tomcat.log 文件已创建但为空,我看不出任何原因。

这是控制台日志文件的输出:

我正在为 logstash 做所有这些,以便可以正确记录它。我希望有一个人可以帮助我!

诚挚的问候, Fide

0 投票
1 回答
10932 浏览

java - Java Server Wrapper (tanuki) - 启动失败:等待来自 JVM 的信号超时

我正在尝试使用Tanuki Java Service Wrapper.

设置和配置工作正常,但在通过包装器启动我的应用程序(也可以工作)后,它会在一段时间后关闭,因为包装器“等待来自 JVM 的信号时超时”。

我的应用程序在启动后工作,但仍然被关闭。

我目前仍处于设置/测试阶段,所以我只是通过bat文件启动包装器,而不是作为 Windows 服务。

我有两个想法为什么会这样:

1)主线程在启动其他几个线程后终止。我试图让主线程永远等待而不是终止,但这没有帮助(除了我猜包装器也应该在没有主线程的情况下工作)。

2)我的程序主要是在等待事件(目录监视服务),但即使我触发了一些事件,它仍然会被关闭。

我试图通过禁用 JVM ping 检查,wrapper.ping.timeout=0但这也不起作用,如果我有检查以防应用程序真的挂起,那就太好了。

我正在使用jdk1.7.0_79wrapper-windows-x86-32-3.5.27

0 投票
1 回答
3833 浏览

java - java服务包装父进程挂起

我正在运行 Tanuki Wrapper(并且已经运行了很长时间)。在生产中,它运行良好,但在那几周内,我收到报告称包装器进程(C 代码)已挂起并且不会死亡,这会导致生产问题。

当我收到警报并查看时,我看到的是:

1) 几个小时前,子 java 进程被 SIGKILL/9 杀死

STATUS | wrapper | 2016/02/08 03:49:20 | JVM received a signal SIGKILL (9).

2)然后我看到wrapper.sh stop我自定义构建的内部观察程序重置它时出现问题,但这正在进入一个无限循环,如下所述:代码链接

3)然后我登录到盒子并找到包装进程pid(记住JVM早就死了)并发出直接kill $pid,然后等待......什么都没有。可能的代码?

4)最后放弃并发出 kill -9 $pid 并最终杀死它,一切都清理干净并活着回来。

问题:

如何对 kill $pid (SIGTERM/15) 不起作用的应用程序进行故障排除?这在YEARS中效果很好,并且仍然在许多其他过程中,但在少数几个过程中它失败了。

当然,关于 Tanuki 的大多数问题和文档都是关于如何操作/询问子 JVM,但我实际上看到了我认为是 C 代码的问题,我不确定如何询问挂起的 PID放弃秘密的C代码。也许里面的东西/proc/$pid可以告诉我它挂在什么上面?

帮助我欧比旺克诺比,你唯一的希望......

0 投票
1 回答
69 浏览

selenium - Tanuki Service Wrapper 显示访问

我有一个简单的 Java 应用程序,它使用为我加载chromedriver的 Tanuki Service Wrapper。当我以拥有应用程序和 VNC 服务器的用户身份执行操作时,一切正常。./myapp console

但是,在RUN_AS_USERTanuki 设置中设置并在 Ubuntu 16.04DISPLAY中设置变量/etc/environment和所有配置文件后,我的 Java 应用程序无法访问显示。

我使用这些说明在 Ubuntu 16.04 上安装了 VNC 。

我可以在运行后以任何用户身份运行 xeyes、xterm 等,xhost +并确保该命令在 vncserver 启动时运行。

发生的情况是,在我最终超时之前,我遇到了以下日志消息:

虚拟机 1 | 在端口 32655 上启动 ChromeDriver 2.25.426924 (649f9b868f6783ec9de71c123212b908bf3b232e)

虚拟机 1 | 只允许本地连接。

我还尝试编辑/etc/chromium-browser/default文件以在选项中包含“--display:1”规范,CHROMIUM_FLAGS正如其他帖子中所建议的那样,但没有运气。

我看到的另一个选项是在要添加的 Java 代码中添加,但这不起作用:

有什么建议么?