- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Eclipse 用 java 创建了一个项目。
这是项目结构:
当我在 Eclipse 中将项目作为 java 应用程序运行时,它运行得很好。
现在,我需要将其导出为 jar。因此,我使用此链接上的第三个答案中描述的方法创建了 jar(由 Fever 回答):
Failing to run jar file from command line: “no main manifest attribute”
Đây là jar tf EventLogger.jar
的输出:
META-INF/MANIFEST.MF
com/
com/project/
com/project/eventLogger/
com/project/eventLogger/KafkaConsumerGroup.class
com/project/eventLogger/KafkaProducer.class
com/project/eventLogger/ConsumeConfig.class
com/project/eventLogger/ConsumerThread.class
com/project/eventLogger/Formatter.class
com/project/eventLogger/Execute.class
com/project/eventLogger/Config.class
com/project/eventLogger/package-info.class
com/project/eventLogger/ProdConfig.class
com/project/eventLogger/FormatConfig.class
resources/
resources/Config.properties
resources/ConsumerConfig.properties
resources/FormatterConfig.properties
resources/ProducerConfig.properties
resources/log4j.properties
这是 list 文件:
Manifest-Version: 1.0
Built-By: vishrant
Class-Path: lib/json-simple-1.1.1.jar lib/junit-4.10.jar lib/hamcrest-
core-1.1.jar lib/kafka_2.9.2-0.8.2.2.jar lib/jopt-simple-3.2.jar lib/
kafka-clients-0.8.2.2.jar lib/log4j-1.2.16.jar lib/lz4-1.2.0.jar lib/
metrics-core-2.2.0.jar lib/slf4j-api-1.7.6.jar lib/snappy-java-1.1.1.
7.jar lib/slf4j-log4j12-1.6.1.jar lib/zkclient-0.3.jar lib/zookeeper-
3.4.6.jar lib/jline-0.9.94.jar lib/netty-3.7.0.Final.jar lib/scala-li
brary-2.9.2-RC3.jar
Build-Jdk: 1.8.0_74
Created-By: Maven Integration for Eclipse
Main-Class: com.project.eventLogger.Execute
并且,这是一个异常(exception):
java.io.FileNotFoundException: ConsumerConfig.properties (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at com.project.eventLogger.ConsumeConfig.loadPropertiesFile(ConsumeConfig.java:34)
at com.project.eventLogger.ConsumeConfig.(ConsumeConfig.java:42)
at com.project.eventLogger.Execute.main(Execute.java:18)
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.project.eventLogger.Execute.main(Execute.java:18)
Caused by: java.lang.NullPointerException
at com.project.eventLogger.ConsumeConfig.(ConsumeConfig.java:47)
... 1 more
看到异常,很明显它无法加载在 ConsumeConfig.java
中完成的 ConsumerConfig.properties
.
đây rồiConsumeConfig.java
:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Properties;
/**
* @author vishrant
*
*/
public class ConsumeConfig {
public static String zookeeper;
public static String balance;
public static String bootstrap_servers;
public static String zk_session_to;
public static String zk_sync;
public static String auto_commit;
public static String[] topics;
private static String kafka_bin;
private static final String PROPERTIES_FILE_PATH = "src/main/resources/ConsumerConfig.properties";
private static Properties loadPropertiesFile() throws IOException {
Properties properties = new Properties();
InputStream in = new FileInputStream(PROPERTIES_FILE_PATH);
properties.load(in);
return properties;
}
static {
Properties property = null;
thử {
property = loadPropertiesFile();
} bắt (IOException e) {
// TODO Khối catch được tạo tự động
e.printStackTrace();
}
zookeeper = property.getProperty("ZOOKEEPER");
balance = property.getProperty("BALANCE");
bootstrap_servers = property.getProperty("BOOTSTRAP_SERVERS");
zk_session_to = property.getProperty("ZK_SESSION_TO");
zk_sync = property.getProperty("ZK_SYNC_TIME");
auto_commit = property.getProperty("AUTO_COMMIT_INTERVAL");
topics = property.getProperty("CONSUMER_TOPICS").split(",");
kafka_bin = property.getProperty("KAFKA_BIN_PATH");
}
}
有人可以告诉我问题是什么以及如何解决吗?
在 Eclipse 本身中运行时运行得非常好。
编辑1:
现在,异常(exception)是:
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.project.eventLogger.Execute.main(Execute.java:18)
Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at com.project.eventLogger.ConsumeConfig.loadPropertiesFile(ConsumeConfig.java:35)
at com.project.eventLogger.ConsumeConfig. (ConsumeConfig.java:42)
... 1 more
第 35 行:
props.load(resourceStream);
这是现在的代码:
private static final String PROPERTIES_FILE_PATH = "ConsumerConfig.properties";
private static Properties loadPropertiesFile() throws IOException {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
Properties props = new Properties();
InputStream resourceStream = loader.getResourceAsStream(PROPERTIES_FILE_PATH);
props.load(resourceStream);
return props;
}
1 Câu trả lời
我认为原因如下:
resources/Config.properties
它应该看起来没有资源目录:
Config.properties
直接在jar文件的根目录下。
private static final String PROPERTIES_FILE_PATH = "src/main/resources/ConsumerConfig.properties";
在您的 IDE(本例中为 Eclipse)之外不会看到此路径,因为 src/main/resources 不应存在于 jar 文件中,正如您在 jar 文件列表中看到的那样.
关于java - 运行 jar 时项目抛出 IOException(未找到文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35982967/
Được rồi, tôi muốn chạy toàn bộ môi trường làm việc của mình từ một tệp lệnh... Điều tôi muốn đạt được... Mở một PowerShell mới, mở thư mục API của tôi và chạy trình soạn thảo VS Code từ thư mục đó (cd c:\xy;
Tôi đã xem các ví dụ về Cocoa Controls và tải xuống một số bản demo. Vấn đề tôi gặp phải là một số ví dụ, như BCTabBarController, không thể xây dựng hoặc khởi chạy trên thiết bị của tôi. Khi tôi mở dự án, nó trông bình thường, không có gì
Tôi vừa mới bắt đầu học C (giỏi Java và Python). Khi viết một chương trình C (như hello world), tôi biên dịch bằng gcc hello.c -o hello trên dòng lệnh ubuntu
Tôi nhận thấy vấn đề này sau khi một tập lệnh php bắt đầu từ thời gian chờ cron, nhưng nó không phải là vấn đề khi chạy thủ công từ dòng lệnh. (Mặc định max_execution_time của PHP là 0 đối với CLI) Vì vậy, tôi đã thử chạy
Tôi có thể chạy thử nghiệm bằng dòng lệnh > ./node_modules/.bin/wdio wdio.conf.js nhưng nếu tôi thử chạy nó từ cấu hình Run/Debug trong IntelliJ thì tôi nhận được đủ loại lỗi khác nhau. Tính chất
Đã xảy ra lỗi trong quá trình khởi tạo VM. Không thể dành đủ không gian cho heap đối tượng. Lỗi: C
Sau khi cài đặt Anaconda vào C:\, tôi không thể mở jupyter notebook. Trong Anaconda Prompt với jupyter notebook hoặc trong navigator. Tôi không thể làm cho nó hoạt động được.
Tôi đang gặp sự cố khi nhấp đúp vào tập lệnh (.py) hoặc mở nó bằng IDLE thì nó sẽ biên dịch và chạy chính xác. Tuy nhiên, nếu tôi thử chạy tập lệnh trong dòng lệnh Windows, sử dụng C:\> "C:\Software_Dev
Tình huống Tôi đang sử dụng cơ sở dữ liệu mysql. truy vấn chạy từ phpmyadmin và postman nhưng khi tôi gửi yêu cầu từ android (nó trả về không có hàng nào) tôi đã ghi lại email được gửi từ android là chính xác
Điều này có vẻ hơi lạ - tại sao chạy tệp .exe từ Java lại cho kết quả khác so với chạy trực tiếp tệp .exe? Khi java ở dòng bên dưới được thực thi, nó sẽ gọi tệp .exe mà tôi đã xây dựng để hoạt động với Hệ thống điện thoại 3CX
Dòng mã này Environment.Is64BitProcess được đánh giá là đúng khi ứng dụng của tôi chạy độc lập. Nhưng khi chạy trong bài kiểm tra đơn vị Visual Studio của tôi, biểu thức tương tự lại trả về giá trị false. TÔI
đóng cửa. Câu hỏi này dựa trên ý kiến. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để bạn có thể trả lời bằng thông tin và trích dẫn bằng cách chỉnh sửa bài đăng này. Đã đóng 8 năm trước. Cải thiện
Tôi đã viết một bản demo sử dụng libpq để kết nối với cơ sở dữ liệu PostgreSQL. Tôi thử kết nối tệp C với PostgreSQL bằng cách bao gồm #include
Làm thế nào tôi có thể chạy trình giả lập Android từ Jenkins để chạy thử nghiệm? Khi tôi viết trong Execiute Windows lệnh bath, lệnh để chạy trình giả lập: emulator -avd Tester sau đó
Tôi đã cấu hình mọi thứ để có thể đăng nhập và truy cập errbit chạy trên nginx bằng ssl. Vấn đề của tôi là tôi không biết cách thiết lập errbit.rb của ứng dụng rails để có thể chạy thử nghiệm trên nginx
Tôi đã viết ứng dụng Flutter và mở phần ios thông qua xcode và ứng dụng đang chạy, nhưng khi tôi chạy ứng dụng thông qua vscode qua flutter build ios, tôi gặp lỗi này
Tôi có một đoạn mã python ngắn sử dụng mô-đun ghi nhật ký và mô-đun configparser. Tôi đang sử dụng PyCharm 2.7.1 và Python 3.3 trên Win7. Khi tôi chạy tập lệnh của mình bằng PyCharm
Tôi đang gặp một chút khó khăn ở đây. Hộp phát triển của tôi là 64 bit, windows 7. Tất cả các dự án của tôi đều được biên dịch dưới dạng "Bất kỳ CPU nào". Dự án tham chiếu đến các phiên bản 64-bit của phần mềm của bên thứ 3. Khi tôi chạy các bài kiểm tra đơn vị không sử dụng bất kỳ tham chiếu web nào,
Tôi đang làm một số bài tập C++ thì nhận thấy vấn đề sau. Mã được cung cấp sẽ không chạy/biên dịch trong Visual Studio 2013 hoặc Qt Creator 5.4.1 với lỗi: invalid types 'd
Giả sử tôi có một tệp easteregg.py: from flows import DAG from dateutil import parser from datetime import tim
Tôi là một lập trình viên xuất sắc, rất giỏi!