You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:02:47