Maven项目无法运行求助:首次搭建项目遇Firebase依赖执行错误
嘿,我太懂你第一次从普通Java项目转Maven时的手忙脚乱了,尤其是还得搭Firebase依赖,踩坑简直是必经之路。针对你遇到的exec-maven-plugin报错和Firebase连接问题,我整理了几个实用的排查和解决方向:
1. 先搞定exec-maven-plugin的核心问题
这个报错本质是Maven的执行插件跑不起来,大概率是配置或环境不匹配:
- 对齐NetBeans和项目的JDK版本:
打开NetBeans的工具 > 选项 > Java > 平台,确认默认用的JDK版本;再去项目的pom.xml里检查<maven.compiler.source>和<maven.compiler.target>,确保和这个版本一致(比如用JDK11就都设为11)。 - 升级并修正插件配置:
你用的1.2版本插件太老了,和新JDK/NetBeans兼容性很差,换成稳定的新版本,同时确保主类路径写对:<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.6.0</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <!-- 替换成你自己的主类全路径,比如com.yourproject.Main --> <mainClass>your.package.YourMainClass</mainClass> </configuration> </plugin>
2. 检查Firebase的依赖和初始化是否正确
既然核心需求是连接实时数据库,得确保这部分没出错:
- 补全Firebase依赖:
pom.xml里至少要包含核心和实时数据库的依赖,用最新稳定版更靠谱:<dependencies> <dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.2.0</version> </dependency> <dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-database</artifactId> <version>20.0.5</version> </dependency> </dependencies> - 初始化代码要规范:
把Firebase的服务账户JSON密钥放在src/main/resources目录下,然后用下面的方式初始化:import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import java.io.FileInputStream; import java.io.IOException; public class Main { public static void main(String[] args) { try { // 替换成你的密钥文件名 FileInputStream serviceAccount = new FileInputStream("src/main/resources/your-firebase-key.json"); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(com.google.firebase.auth.FirebaseCredentials.fromCertificate(serviceAccount)) // 替换成你的项目实时数据库URL .setDatabaseUrl("https://your-project-id.firebaseio.com/") .build(); FirebaseApp.initializeApp(options); DatabaseReference ref = FirebaseDatabase.getInstance().getReference("test"); System.out.println("成功拿到数据库引用:" + ref); } catch (IOException e) { e.printStackTrace(); } } }
3. 用正确的方式在NetBeans里运行项目
别直接点NetBeans默认的“运行”按钮,要走Maven的执行流程:
右键项目 > Run Maven > exec:java,这样会严格按照你pom.xml里的配置执行主类,避免和IDE默认运行逻辑冲突。
如果还是报错,建议把完整的错误日志(尤其是Caused by部分)贴出来,这样能更精准定位问题~
内容的提问来源于stack exchange,提问作者Alexandre Krabbe
相关产品推荐
相关产品推荐

