首先:我不是Java編碼器。我不熟悉Java/Maven工具鏈。我們正在使用Java庫作爲我們想要作爲Heroku後臺工作者啓動的項目。如何在Java中爲Heroku工作進程設置一個最小的Maven pom.xml文件?
該項目依賴兩個外部庫,可通過Maven的中央倉庫獲得的mongodb Java驅動程序以及另一個第三方庫。我已經看到Heroku article on "unmanaged dependencies",但其他內容似乎不存在,因爲我遇到如下錯誤:Could not find the main class: com.company.myproject.MyApp Program will exit.
當我嘗試根據Heroku's instructions on "Getting Started with Java"在本地運行應用程序時。
我注意到他們的pom.xml文件包含一個用於複製依賴項的Maven插件maven-dependency-plugin
,當我檢查我的target/classes
文件夾時,我看不到任何依賴關係。
Heroku還發布了guide on building background workers in Java。 pom.xml
包含一個構建程序集插件,這似乎更復雜。
我在這個儀式(特別是來自Rails)中有點失落,我想用最簡單的pom.xml
來統計這個運行。 Heroku上有Java工作者的Maven原型文件嗎?我也使用NetBeans作爲IDE,如果可以的話,使用IDE工具將是非常好的,但這是次要優先事項。
下面我pom.xml
至今:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myproject</groupId>
<artifactId>myproject</artifactId>
<version>0.1</version>
<packaging>jar</packaging>
<name>myproject</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>org.thirdparty</groupId>
<artifactId>thirdparty</artifactId>
<version>0.2.9</version>
<scope>provided</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>project-local</id>
<name>Project-local Repo</name>
<url>file:${project.basedir}/repo</url>
</repository>
</repositories>
</project>
我想出了一些東西:''標籤是壞的。我忘了我從哪裏得到這個信息,但它把事情搞砸了。一旦我把它拿出來,Maven甚至可以從NetBeans內部構建和運行。 –
2012-04-01 19:50:50
''標籤意味着圖書館將以某種外部方式提供。 –
2012-04-02 19:49:07
也許[jcabi-heroku-maven-plugin](http://www.jcabi.com/jcabi-heroku-maven-plugin/)可以幫助你 – yegor256 2013-03-17 14:58:58