小编too*_*kit的帖子

运行Jar文件时出现问题

我已经将一个java项目编译成一个Jar文件,并且在运行它时遇到了问题.

当我跑:

java -jar myJar.jar
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

Could not find the main class: myClass
Run Code Online (Sandbox Code Playgroud)

类文件不在jar的根目录中,所以我尝试更改主类的路径以匹配类文件的路径,我得到了同样的问题.

我应该扁平化文件结构吗?如果是这样我该怎么做 如果有任何用途,我正在使用Ant来构建Jar文件.

UPDATE

这是jar的内容和相关的Ant部分,我已经将我工作的公司名称改为"org":

META-INF/
META-INF/MANIFEST.MF
dataAccessLayer/
dataAccessLayer/databaseTest.class
org/
org/eventService/
org/eventService/DatabaseObject.class
org/eventService/DatabaseObjectFactory.class
org/eventService/DbEventClientImpl$HearBeatMonitor.class
org/eventService/DbEventClientImpl.class
org/eventService/EmptyQueryListException.class
org/eventService/EventHandlerWorkItem.class
org/eventService/EventProcessor.class
org/eventService/EventTypeEnum.class
org/eventService/EventWorkQueue$MonitorThread.class
org/eventService/EventWorkQueue$PoolWorker.class
org/eventService/EventWorkQueue.class
org/eventService/FailedToLoadDriverException.class
org/eventService/IConnectionFailureListener.class
org/eventService/InvalidEventTypeException.class
org/eventService/JdbcInterfaceConnection.class
org/eventService/NullArgumentException.class
org/eventService/OracleDatabaseObject.class
org/eventService/ProactiveClientEventLogger.class
org/eventService/ProactiveClientEventLoggerException.class
org/eventService/PropertyMap.class
org/eventService/SQLServerDatabaseObject.class
org/eventService/TestHarness.class
org/eventService/Utilities.class
Run Code Online (Sandbox Code Playgroud)

而蚂蚁目标:

<target name="compile" depends="init" description="compile the source ">
    <javac srcdir="src" destdir="bin" classpathref="project.class.path"/>
</target>
<target name="buildjar" description="build jar file" depends="compile">
    <mkdir dir="dist"/>
    <jar destfile="dist/myJar.jar" basedir="bin" includes="**/*.class" >
        <manifest>
            <attribute name="Main-Class" value="org.eventService.ProactiveClientEventLogger"/>
        </manifest>
     </jar>
</target>
Run Code Online (Sandbox Code Playgroud)

java ant jar mainclass

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

Lucene搜索错误堆栈

尝试使用Lucene进行搜索时,我看到以下错误.(版本1.4.3).关于为什么我能看到这个以及如何解决它的任何想法?

Caused by: java.io.IOException: read past EOF
    at org.apache.lucene.store.InputStream.refill(InputStream.java:154)
    at org.apache.lucene.store.InputStream.readByte(InputStream.java:43)
    at org.apache.lucene.store.InputStream.readVInt(InputStream.java:83)
    at org.apache.lucene.index.FieldInfos.read(FieldInfos.java:195)
    at org.apache.lucene.index.FieldInfos.<init>(FieldInfos.java:55)
    at org.apache.lucene.index.SegmentReader.initialize(SegmentReader.java:109)
    at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:89)
    at org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:118)
    at org.apache.lucene.store.Lock$With.run(Lock.java:109)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:111)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:106)
    at org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:43)
Run Code Online (Sandbox Code Playgroud)

在同样的环境中,我也看到以下错误:

Caused by: java.io.IOException: Lock obtain timed out:
Lock@/tmp/lucene-3ec31395c8e06a56e2939f1fdda16c67-write.lock
    at org.apache.lucene.store.Lock.obtain(Lock.java:58)
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:223)
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:213)
Run Code Online (Sandbox Code Playgroud)

相同的代码在测试环境中工作,但不在生产中.无法识别两种环境之间的任何明显差异.

lucene

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

从数据库行作为字符串(JDBC)

是否有一个直接的方法将ResultSet中的所有元素作为String获取?JDBC

java jdbc

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

linux shell和java

我想发一个命令到linux shell并用java获取它的响应.我可以这样做吗?

java linux

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

标签 统计

java ×3

ant ×1

jar ×1

jdbc ×1

linux ×1

lucene ×1

mainclass ×1