我正在尝试创建一个"可执行"war文件(java -jar myWarFile.war),它将启动一个Jetty网络服务器,它托管我执行的WAR文件中包含的webapp.
我找到了一个页面,描述了如何制作我正在寻找的东西:
然而,遵循这个建议,以及我认为我应该制作一个可执行jar(战争)是不行的.
我有一个Ant任务创建一个带有清单的WAR文件,如下所示:
Run Code Online (Sandbox Code Playgroud)Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 1.5.0_18-b02 (Sun Microsystems Inc.) Main-Class: Start
WAR文件的内容如下所示:
> Start.class
> jsp
> build.jsp
> META-INF
> MANIFEST.MF
> WEB-INF
> lib
> jetty-6.1.22.jar
> jetty-util.6.1.22.jar
Run Code Online (Sandbox Code Playgroud)
当我尝试执行WAR文件时,错误是:
Exception in thread "main" java.lang.NoClassDefFoundError: org/mortbay/jetty/Handler
Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.Handler
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Start. Program will exit.
Run Code Online (Sandbox Code Playgroud)
这里似乎有两个错误:一个似乎无法找到JAR文件,另一个找不到Start类.
为了修复第一个,我将Jetty …
我有一个驻留在单个.py文件中的应用程序.我已经能够让pyInstaller成功地将它捆绑到一个EXE for Windows中.问题是,应用程序需要一个始终位于同一目录中的应用程序旁边的.cfg文件.
通常,我使用以下代码构建路径:
import os
config_name = 'myapp.cfg'
config_path = os.path.join(sys.path[0], config_name)
Run Code Online (Sandbox Code Playgroud)
但是,当从pyInstaller生成的EXE调用sys.path时,它似乎是空白的.当您运行python交互式命令行并尝试获取sys.path [0]时,会发生同样的行为.
有没有更具体的方法来获取当前运行的应用程序的路径,以便我可以找到相对于它的文件?
自修改代码有什么用途吗?
我知道它们可以用于构建蠕虫/病毒,但我想知道程序员是否有必要使用自修改代码的一些好理由.
有任何想法吗?也是受欢迎的假设情况.
使用Visual Studio 2010,当我在短时间内构建+运行我的应用程序时,我经常会收到以下错误.如果我等一两分钟再试一次就可以了.Unlocker声称没有句柄锁定可执行文件.
我怎样才能发现锁定它的是什么?
如果它是Visual Studio本身,我该怎么做才能让它停止?或者发布文件?
1>------ Build started: Project: MyProj, Configuration: Release Win32 ------
...
1>InitializeBuildStatus:
1> Creating "Release\MyProj.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> All outputs are up-to-date.
1> SomeFile1.cpp
1>ResourceCompile:
1> All outputs are up-to-date.
1>LINK : fatal error LNK1104: cannot open file 'D:\...\MyProj.exe'
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.94
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud) 假设您有一个.EXE,并且您想要检查它是否具有命令行选项.如何知道.EXE是否具备此功能.在我的情况下,我知道Nir Sofers WebBrowserPassView.exe能够通过cmd.exe和WebBrowserPassView.exe/stext output.txt启动它.但是我怎么能知道我不知道呢?
我的计算机上安装了一个应用程序.如何确定它是否在DEBUG模式下编译?
我曾尝试使用.NET Reflector,但它没有显示任何具体内容.这是我看到的:
// Assembly APPLICATION_NAME, Version 8.0.0.15072
Location: C:\APPLICATION_FOLDER\APPLICATION_NAME.exe
Name: APPLICATION_NAME, Version=8.0.0.15072, Culture=neutral, PublicKeyToken=null
Type: Windows Application
Run Code Online (Sandbox Code Playgroud) 如果朋友想要运行我的Haskell二进制文件,他是否必须先安装Haskell,还是可以立即自行运行二进制文件?
答案在Mac,Windows和Linux上是否相同?
我有一个演示文件:test.py.在Windows控制台中,我可以运行以下文件:C:\>test.py
我怎样才能在Python Shell中执行该文件?
我在使用带有MINGW64的git 2.7.2.windows.1的Windows机器上.
我有一个脚本 C:/path/to/scripts/myScript.sh
如何从我的git bash执行此脚本?
可以将其添加到.bashrc文件中,然后只执行整个bashrc文件.
但是我想将脚本添加到单独的文件中并从那里执行它.
我开始摆弄PyQt,并从pyqt白皮书示例应用程序(pastebin)制作了一个"漂亮"的脚本
它在Windows和Linux中完美运行(两者都安装了qt环境).
现在我的问题是:因为我正在尝试使用Qt,因为它是经过编译的(至少是纯旧的基于C++的Qt),我如何编译一些.exe文件在Windows上运行它,或者用于Linux的独立可执行文件.
关键是我希望编译程序,因为速度和可移植性,而不是从源解释,这需要在任何机器上进行先前的设置.例如,其中一个目标是通过电子邮件将小gui脚本发送给根本不是程序员的同事.
executable ×10
python ×3
.net ×1
binary ×1
command-line ×1
compilation ×1
exe ×1
git-bash ×1
haskell ×1
java ×1
jetty ×1
linker ×1
locking ×1
manifest ×1
pyinstaller ×1
pyqt4 ×1
qt4 ×1
war ×1