Skip to end of metadata
Go to start of metadata

It is 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:

 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"


Select Run Time|Everyday and specify a single start at 2 a.m.


Running the job it will produce some output like this:
 

 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
    To make this example run, put the code into your live folder. Note that the source code of your project is stored in the same folder as the job.

 

Write a comment…