Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
It is also possible to control a maven build with JobScheduler.
Assume you have a simple java project controlled by Maven. The build should start every day at 2 a.m. followed by the execution of the previously built project.
...
Create a
...
Job called maven_build
Select Shell as language and put the following code into the textbox:
Code Block |
---|
cd %SCHEDULER_DATA%\config\live\Maven
mvn clean compile exec:java -Dexec.mainClass=org.springframework.batch.core.launch.support.CommandLineJobRunner -Dexec.args="simpleJob.xml simpleJob"
|
...
Running the job it will produce an some output like this:
Code Block |
---|
2011-11-02 02:00:54.043 [info] SCHEDULER-918 state=starting (at=2011-11-02 02:00:54.012)
2011-11-02 02:00:54.043 [info] SCHEDULER-987 Starting process: "C:\Windows\TEMP\\sosBBAD.cmd"
2011-11-02 02:00:55.525 [info]
2011-11-02 02:00:55.525 [info] C:\ProgramData\sos-berlin.com\jobscheduler\scheduler-1.3.12.1296>cd C:/ProgramData/sos-berlin.com/jobscheduler/scheduler-1.3.12.1296\config\live\Maven
2011-11-02 02:00:55.525 [info]
2011-11-02 02:00:55.525 [info] C:\ProgramData\sos-berlin.com\jobscheduler\scheduler-1.3.12.1296\config\live\Maven>mvn clean compile exec:java -Dexec.mainClass=org.springframework.batch.core.launch.support.CommandLineJobRunner -Dexec.args="simpleJob.xml simpleJob"
2011-11-02 02:01:05.010 [info] [INFO] Scanning for projects...
2011-11-02 02:01:05.010 [info] [INFO] Searching repository for plugin with prefix: 'exec'.
2011-11-02 02:01:05.010 [info] [INFO] ------------------------------------------------------------------------
2011-11-02 02:01:05.010 [info] [INFO] Building Spring Batch Hello World
2011-11-02 02:01:05.010 [info] [INFO] task-segment: [clean, compile, exec:java]
2011-11-02 02:01:05.010 [info] [INFO] ------------------------------------------------------------------------
2011-11-02 02:01:05.010 [info] [INFO] [clean:clean \{execution: default-clean\}]
2011-11-02 02:01:05.010 [info] [INFO] [resources:resources \{execution: default-resources\}]
2011-11-02 02:01:05.010 [info] [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
2011-11-02 02:01:05.010 [info] [INFO] Copying 3 resources
2011-11-02 02:01:05.010 [info] [INFO] [compiler:compile \{execution: default-compile\}]
2011-11-02 02:01:05.010 [info] [INFO] Compiling 1 source file to C:\ProgramData\sos-berlin.com\jobscheduler\scheduler-1.3.12.1296\config\live\Maven\target\classes
2011-11-02 02:01:05.010 [info] [INFO] Preparing exec:java
2011-11-02 02:01:05.010 [info] [INFO] No goals needed for project - skipping
2011-11-02 02:01:05.010 [info] [INFO] [exec:java \{execution: default-cli\}]
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:03 org.springframework.context.support.AbstractApplicationContext prepareRefresh
2011-11-02 02:01:05.026 [info] INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1e91a4d: display name [org.springframework.context.support.ClassPathXmlApplicationContext@1e91a4d]; startup date [Wed Nov 02 02:01:03 CET 2011]; root of context hierarchy
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:03 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
2011-11-02 02:01:05.026 [info] INFO: Loading XML bean definitions from class path resource [simpleJob.xml]
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:04 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
2011-11-02 02:01:05.026 [info] INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:04 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
2011-11-02 02:01:05.026 [info] INFO: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@1e91a4d]: org.springframework.beans.factory.support.DefaultListableBeanFactory@19cc1b
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:04 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
2011-11-02 02:01:05.026 [info] INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@19cc1b: defining beans [jobLauncher,jobRepository,hello,space,world,taskletStep,simpleJob]; root of factory hierarchy
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:04 org.springframework.batch.core.launch.support.SimpleJobLauncher afterPropertiesSet
2011-11-02 02:01:05.026 [info] INFO: No TaskExecutor has been set, defaulting to synchronous executor.
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:04 org.springframework.batch.core.launch.support.SimpleJobLauncher$1 run
2011-11-02 02:01:05.026 [info] INFO: Job: [SimpleJob: [name=simpleJob]] launched with the following parameters: [\{\}\{\}\{\}\{\}]
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:04 org.springframework.batch.core.launch.support.SimpleJobLauncher$1 run
2011-11-02 02:01:05.026 [info] INFO: Job: [SimpleJob: [name=simpleJob]] completed successfully with the following parameters: [\{\}\{\}\{\}\{\}]
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:04 org.springframework.context.support.AbstractApplicationContext doClose
2011-11-02 02:01:05.026 [info] INFO: Closing org.springframework.context.support.ClassPathXmlApplicationContext@1e91a4d: display name [org.springframework.context.support.ClassPathXmlApplicationContext@1e91a4d]; startup date [Wed Nov 02 02:01:03 CET 2011]; root of context hierarchy
2011-11-02 02:01:05.026 [info] 02.11.2011 02:01:04 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons
2011-11-02 02:01:05.026 [info] INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@19cc1b: defining beans [jobLauncher,jobRepository,hello,space,world,taskletStep,simpleJob]; root of factory hierarchy
2011-11-02 02:01:05.026 [info] Hello World!
2011-11-02 02:01:05.041 [info] SCHEDULER-915 Process event
|
...
Related Downloads
- sample_maven.zip
This sample will To make this example run, if you put the code into your live folder. Note that the source code of your project is stored in the same folder like as the job.
see also: