我使用Spark框架编写的项目具有此构建配置。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<verbose>true</verbose>
<fork>true</fork>
<compilerVersion>1.7</compilerVersion>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.13</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
<plugin>
<groupId>org.avaje</groupId>
<artifactId>ebean-maven-enhancement-plugin</artifactId>
<version>2.8.1</version>
<executions>
<execution>
<id>main</id>
<phase>process-classes</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
<configuration>
<classSource>target/classes</classSource>
<packages>somepath.domain.**</packages>
<transformArgs>debug=1</transformArgs>
</configuration>
</plugin>
</plugins>
</build>
它的主要类位于somepath.Bootstrap
。
Procfile
位于pom
旁边。
Procfile
的内容应该是什么?
(我正在通过git部署。)
答案 0 :(得分:1)
Procfile包含将在部署应用程序后执行的命令(我猜测为git push heroku master
)。
我不太熟悉spark,但我猜它可能是这样的:
web: mvn exec:java -Dexec.mainClass="somepath.Bootstrap"
答案 1 :(得分:1)
Procfile是一种机制,用于声明Heroku平台上应用程序的dynos运行的命令。
以下是Java应用程序的示例:
web: java -cp target/classes:target/dependency/* Main
这取自使用Spark的Heroku Java sample app。
请注意,构建工具(如Maven)在运行时将无法使用。