Migrating to Java 9 Modules. Paul Bakker
|
|
- Hugh William Clark
- 6 years ago
- Views:
Transcription
1 Migrating to Java 9 Modules Paul Bakker
2 Why care about modules? lib/nebula jar:lib/netflix-gradle-lint jar:lib/gretty jar:lib/gradle-infamous-plugin-1.28.jar:lib/java-semver jar:lib/guava-20.0.jar:lib/ nebula-core jar:lib/commons-lang-2.6.jar:lib/joda-time jar:lib/kotlin-reflect jar:lib/nebula-common jar:lib/nebula-repos jar:lib/ nebula-publish jar:lib/httpclient jar:lib/jgrapht-core jar:lib/build-info-extractor-gradle jar:lib/ant-jsch jar:lib/rest-api-clientcore jar:lib/rest-api-client-httpclient jar:lib/bakery-api-client jar:lib/odin jar:lib/artifactory-java-client-services jar:lib/ kotlin-stdlib-jre jar:lib/gradle-contacts-plugin jar:lib/gradle-dependency-lock-plugin jar:lib/gradle-extra-configurationsplugin jar:lib/gradle-git-scm-plugin jar:lib/gradle-info-plugin jar:lib/gradle-java-cross-compile-plugin jar:lib/gradle-lintplugin jar:lib/gradle-metrics-plugin jar:lib/gradle-ospackage-plugin jar:lib/gradle-override-plugin jar:lib/gradle-resolution-rulesplugin jar:lib/gradle-scm-plugin jar:lib/gradle-stash-plugin jar:lib/nebula-dependency-base-plugin jar:lib/nebula-dependencyrecommender jar:lib/nebula-grails-plugin jar:lib/nebula-project-plugin jar:lib/nebula-release-plugin jar:lib/gradle-release-1.2.jar:lib/ gradle-cobertura-plugin jar:lib/gretty-core jar:lib/spring-boot-loader-tools release.jar:lib/jetty-util v jar:lib/httpclientcache jar:lib/kotlin-stdlib jar:lib/metatron-decrypt jar:lib/nebula-publishing-plugin jar:lib/httpcore jar:lib/commonslogging-1.2.jar:lib/commons-codec-1.9.jar:lib/ivy jar:lib/build-info-extractor jar:lib/ant jar:lib/mail jar:lib/frigga-0.13.jar:lib/ nekohtml jar:lib/artifactory-java-client-api jar:lib/groovy-xml jar:lib/jcl-over-slf4j jar:lib/kotlin-stdlib-jre jar:lib/ svnkit jar:lib/asm-5.2.jar:lib/gpars jar:lib/junit-4.12.jar:lib/jackson-datatype-joda jar:lib/logstash-logback-encoder jar:lib/ jest jar:lib/fluent-hc jar:lib/redline jar:lib/jdeb-1.4.jar:lib/gradle-docker-plugin jar:lib/commons-beanutils-core jar:lib/jacksonmodule-kotlin jar:lib/maven-model-builder jar:lib/grails-launcher-1.1.jar:lib/groovy jar:lib/commons-cli-1.2.jar:lib/commonsconfiguration-1.10.jar:lib/org.apache.servicemix.bundles.bcprov-jdk _3.jar:lib/spring-boot-devtools release.jar:lib/spring-core release.jar:lib/ annotations-13.0.jar:lib/gson jar:lib/protobuf-java-util jar:lib/protobuf-java jar:lib/grpc-core jar:lib/javax.inject-1.jar:lib/metatroncommon jar:lib/metatron-ipc-common jar:lib/build-info-client jar:lib/xstream jar:lib/ant-launcher jar:lib/multiversecore jar:lib/jsr166y jar:lib/hamcrest-core-1.3.jar:lib/logback-core jar:lib/jest-common jar:lib/httpcore-nio jar:lib/ httpasyncclient-4.1.jar:lib/plexus-utils jar:lib/plexus-interpolation-1.24.jar:lib/plexus-component-annotations jar:lib/maven-model jar:lib/ maven-artifact jar:lib/maven-builder-support jar:lib/spring-boot release.jar:lib/spring-boot-autoconfigure release.jar:lib/ error_prone_annotations jar:lib/jsr jar:lib/grpc-context jar:lib/instrumentation-api jar:lib/grpc-protobuf jar:lib/grpcstub jar:lib/jackson-mapper-asl jar:lib/build-info-api jar:lib/xpp3_min-1.1.4c.jar:lib/spring-context release.jar:lib/grpc-google-commonprotos jar:lib/grpc-protobuf-lite jar:lib/jackson-core-asl jar:lib/spring-aop release.jar:lib/spring-beans release.jar:lib/springexpression release.jar:lib/aopalliance-1.0.jar:lib/http-builder jar:lib/json-lib-2.3-jdk15.jar:lib/xml-resolver-1.2.jar:lib/commonsbeanutils jar:lib/commons-collections jar:lib/ezmorph jar:lib/slf4j-api jar:lib/commons-io-2.5.jar:lib/jackson-annotations jar:lib/ jackson-databind jar:lib/nebula-gradle-interop jar:lib/org.eclipse.jgit.ui r.jar:lib/jsch.agentproxy.jsch jar:lib/ jsch.agentproxy.pageant jar:lib/jsch.agentproxy.sshagent jar:lib/jsch.agentproxy.usocket-jna jar:lib/jsch.agentproxy.usocket-nc jar:lib/ jsch.agentproxy.core jar:lib/jna jar:lib/jna-platform jar:lib/p4java jar:lib/jzlib jar:lib/jsch.agentproxy.svnkit-trileadssh jar:lib/trilead-ssh build220.jar:lib/jsch.agentproxy.connector-factory jar:lib/sequence-library jar:lib/sqljet jar:lib/antlrruntime-3.4.jar:lib/commons-lang3-3.5.jar:lib/gradle-git jar:lib/groovy-json jar:lib/commons-compress-1.8.jar:lib/bcpg-jdk15on-1.51.jar:lib/bcprovjdk15on-1.51.jar:lib/xercesimpl jar:lib/jackson-core jar:lib/org.eclipse.jgit r.jar:lib/javaewah jar:lib/jsch jar:lib/ grgit jar:lib/xz-1.5.jar
3 Module primer. module easytext.cli { } requires easytext.analysis; module easytext.analysis { exports analysis.api; opens impl; } easytext.cli easytext.analysis analysis.api reflection only! impl other
4 Module primer. module easytext.cli { } requires easytext.analysis; module easytext.analysis { } exports analysis.api; Modules define dependencies opens impl; explicitly easytext.cli easytext.analysis analysis.api reflection only! impl other
5 Module primer. module easytext.cli { } requires easytext.analysis; Packages are encapsulated by default module easytext.analysis { exports analysis.api; opens impl; } easytext.cli easytext.analysis analysis.api reflection only! impl other
6 Module primer. module easytext.cli { } requires easytext.analysis; Packages can be opened for deep reflection at run-time module easytext.analysis { exports analysis.api; opens impl; } easytext.cli easytext.analysis analysis.api reflection only! impl other
7 Migrating to Java 9. Java 8 java -cp -jar MyApp.jar Java 9 java -cp -jar MyApp.jar
8 Our journey to modules. Running on Java 9 Using existing libraries Allowing reflection Spring / Hibernate case study Refactoring to increase modularity Migrating builds
9 !"" lib!"" run.sh #"" src!"" books $!"" api $ $!"" entities $ $ $ #"" Book.java $ $ #"" service $ $ #"" BooksService.java $ #"" impl $!"" entities $ $ #"" BookEntity.java $ #"" service $ #"" HibernateBooksService.java!"" bookstore $!"" api $ $ #"" service $ $ #"" BookstoreService.java $ #"" impl $ #"" service $ #"" BookstoreServiceImpl.java!"" log4j2.xml!"" main $ #"" Main.java #"" main.xml javac -cp [list of JARs in lib] -d out -sourcepath src $(find src -name '*.java') cp $(find src -name '*.xml') out java -cp [list of JARs in lib]:out main.main
10 Missing platform libraries. import javax.xml.bind.datatypeconverter; public class Main { } public static void main(string... args) { } DatatypeConverter.parseBase64Binary("SGVsbG8gd29ybGQh"); java.lang.classnotfoundexception: javax.xml.bind.jaxbexception
11 The platform module graph.
12 java.se vs java.se.ee
13 Resolving JAXB. java --add-modules java.xml.bind
14 Illegal deep reflection. WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by javassist.util.proxy.securityactions WARNING: Please consider reporting this to the maintainers of javassist.util.proxy.securityactions WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release
15 Type Compile time Reflection on public Deep reflection Exports Open Exports + Open
16 Fixing illegal deep reflection. Use a library that doesn t do this! do you really need deep reflection on JDK types!? Use command line flags to open packages java --add-opens java.base/java.lang=all-unnamed Main
17 Automatic Modules
18 But we re still on the classpath!
19 Let s migrate our code to modules But how do we deal with libraries?
20 package demo; import com.fasterxml.jackson.databind.objectmapper; public class Main { public static void main(string... args) throws Exception { Book modularitybook = new Book("Java 9 Modularity", "Modularize all the things!"); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writevalueasstring(modularitybook); System.out.println(json); } } module books { }
21 Automatic modules - A nonmodular JAR on the module path Exports all packages Requires all resolved modules Can read the class path (the unnamed module)
22 module books { } requires jackson.databind; CP=lib/jackson-annotations jar: CP+=lib/jackson-core jar javac -cp $CP --module-path mods -d out --module-source-path src -m books
23 Case study
24 Sample app after migration.
25 !"" lib!"" mods!"" run.sh #"" src #"" bookapp!"" books $!"" api $ $!"" entities $ $ $ #"" Book.java $ $ #"" service $ $ #"" BooksService.java $ #"" impl $!"" entities $ $ #"" BookEntity.java $ #"" service $ #"" HibernateBooksService.java!"" bookstore $!"" api $ $ #"" service $ $ #"" BookstoreService.java $ #"" impl $ #"" service $ #"" BookstoreServiceImpl.java!"" log4j2.xml!"" main $ #"" Main.java!"" main.xml #"" module-info.java Step 1 - Project structure. mods dir for automatic modules Single module dir (for now) Add module-info.java javac -cp $CLASSPATH \ --module-path mods \ -d out \ --module-source-path src \ -m bookapp
26 Step 2 - Add requires. Compilation error BookstoreServiceImpl.java:7: error: package org.springframework.stereotype is not visible import org.springframework.stereotype.component; Our module needs explicit dependencies!
27 Step 3 - Add missing compile time platform modules. Compilation error HibernateBooksService.java:19: error: cannot access Referenceable return sessionfactory.getcurrentsession().get(bookentity.class, id); ^ class file for javax.naming.referenceable not found Hibernate should declare requires transitive java.naming
28 Running. java -cp $CLASSPATH --module-path mods:out -m bookapp/main.main
29 Step 4 - Add missing platform modules. java.lang.classnotfoundexception: java.sql.sqlexception java -cp $CLASSPATH --add-modules java.sql,java.xml.bind --module-path mods:out -m bookapp/main.main
30 Step 5 - Open packages for reflection. java.lang.illegalaccessexception: class org.springframework.beans.beanutils cannot access class books.impl.service.hibernatebooksservice (in module bookapp) because module bookapp does not export books.impl.service to unnamed opens books.impl.entities; opens books.impl.service; opens bookstore.impl.service;
31 Step 6 - Illegal deep reflection. java.lang.reflect.inaccessibleobjectexception: Unable to make protected final java.lang.class java.lang.classloader.defineclass(java.lang.string,byte[],int,int,java.security.protectiondomain) throws java.lang.classformaterror accessible: module java.base does not "opens java.lang" to module javassist java -cp $CLASSPATH --add-modules java.sql,java.xml.bind --add-opens java.base/java.lang=javassist --module-path mods:out -m bookapp/main.main
32 Refactor to multiple modules
33 Multi module structure
34 requires books.api books.impl main requires bookstore requires Spring
35 requires books.api books.impl main requires bookstore.api bookstore.impl requires provides uses Module System provides
36 Build tools. module bookstore { requires books; <artifactid>bookstore</artifactid> <build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <configuration> <source>9</source> exports bookstore.service.api; <target>9</target> </configuration> uses books.api.service.booksservice; </plugin> </plugins> provides bookstore.service.api.bookstoreservice with </build> bookstore.service.impl.bookstoreserviceimpl; <dependencies> } <dependency> <groupid>javamodularity</groupid> <artifactid>books</artifactid> <version>1.0-snapshot</version> </dependency> </dependencies>
37 Thank you. Paul
Migrating to Java 9 Modules
Migrating to Java 9 Modules By Sander Mak @Sander_Mak Migrating to Java 9 Java 8 java -cp.. -jar myapp.jar Java 9 java -cp.. -jar myapp.jar Today's journey Running on Java 9 Java 9 modules Migrating to
More informationAdvanced Modular Development
Advanced Modular Development Alan Bateman Alex Buckley Java Platform Group, Oracle September 2016 Copyright 2016, Oracle and/or its affiliates. All rights reserved. Sessions 1 2 3 4 5 Prepare for JDK 9
More informationIndex. Decomposability, 13 Deep reflection, 136 Dependency hell, 19 --describe-module, 39
Index A --add-exports option, 28, 134 136, 142, 192 Apache Maven compatibility, 214 Compiler plugin, 212, 214 goals, 209 JDeps plugin goals, 210 options, 211 JEP 223 New Version-String scheme, 209 Automatic
More informationAdvanced Modular Development CON6821
Advanced Modular Development CON6821 Mark Reinhold, Alex Buckley, Alan Bateman Java Platform Group, Oracle October 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Sessions 1 2 3
More informationDesigning for Modularity with Java 9
Designing for Modularity with Java 9 Paul Bakker @pbakker Sander Mak @Sander_Mak Today's journey Module primer Services & DI Modular design Layers & loading Designing for Modularity with Java 9 What if
More informationSpring Framework 5.0 on JDK 8 & 9
Spring Framework 5.0 on JDK 8 & 9 Juergen Hoeller Spring Framework Lead Pivotal 1 Spring Framework 5.0 (Overview) 5.0 GA as of September 28 th, 2017 one week after JDK 9 GA! Embracing JDK 9 as well as
More informationJava 9 Module System. Complex Software and Programming Language History of Modules Module Concepts and Tools Modularization of the JDK
Java 9 Module System Complex Software and Programming Language History of Modules Module Concepts and Tools Modularization of the JDK Problem of Complexity and Programming Language 2 von 41 Early/Modern
More informationJigsaw and OSGi: What the Heck Happens Now?
Jigsaw and OSGi: What the Heck Happens Now? Neil Bartlett neil.bartlett@paremus.com Jigsaw and OSGi: WTF Happens Now? Neil Bartlett neil.bartlett@paremus.com Agenda WTF is a Module System? How do OSGi
More informationCOMP6700/2140 Packages, Modules and Jigsaw
COMP6700/2140 Packages, Modules and Jigsaw Alexei B Khorev and Josh Milthorpe Research School of Computer Science, ANU May 2017 Alexei B Khorev and Josh Milthorpe (RSCS, ANU) COMP6700/2140 Packages, Modules
More informationSet up Maven plugins in Eclipse. Creating a new project
In this tutorial, we describe steps for setting up a Maven project that uses libsbolj in Eclipse. Another tutorial follows this one which explains how we use SBOL 2.0 to represent the function of a state-of-the-art
More informationJAVA Modules Java, summer semester 2018
JAVA Modules Modules a module explicitely defines what is provided but also what is required why? the classpath concept is fragile no encapsulation 2 Modules a module explicitely defines what is provided
More informationJaxb2 Maven Plugin Could Not Process Schema
Jaxb2 Maven Plugin Could Not Process Schema The JAXB2 Maven Plugin project was moved to GitHub. These pages are no longer maintained and therefore do not provide the actual information. Resource entries,
More information4. Check the site specified in previous step to work with, expand Maven osgi-bundles, and select slf4j.api,
In this tutorial, we describe steps for setting up a Maven project that uses libsbolj in Eclipse. Another tutorial follows this one which explains how we use SBOL 2 to represent the function of a state-of-the-art
More informationHello Gradle. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2.
Hello Gradle TestNG, Eclipse, IntelliJ IDEA Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2 Dávid Bedők 2017.09.18. v0.2 Dávid Bedők (UNI-OBUDA) Hello JavaEE 2017.09.18.
More informationJVM Survival Guide. Hadi Hariri
JVM Survival Guide Hadi Hariri This talk For What For Who 20 years of Java The Sun and The Oracle Java The Language Java The Virtual Machine Java The Ecosystem The Community Community Driven Not Vendor-Driven
More informationModularity in Java. With OSGi. Alex Docklands.LJC January Copyright 2016 Alex Blewitt
Modularity in Java With OSGi Alex Blewitt @alblue Docklands.LJC January 2016 Modularity in Java Modularity is Easy? Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity
More informationHello Maven. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2.
Hello Maven TestNG, Eclipse, IntelliJ IDEA Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2 Dávid Bedők 2017.09.19. v0.1 Dávid Bedők (UNI-OBUDA) Hello JavaEE 2017.09.19.
More informationJava SE 9 and the Application Server
EclipseCon Europe 2017 Java SE 9 and the Application Server InterConnect 2017 Kevin Sutter MicroProfile and Java EE Architect @kwsutter 1 Java SE 9 Standalone 2 10/30/17 Java 9 Standard Features JSR 379:
More informationOpen source software libraries used in ConnectAll
Open source software libraries used in ConnectAll Category Tools Version Ant ant 1.7.0 Ant ant-launcher 1.7.0 Apache commons-beanutils 1.8.0 Apache commons-cli 1.2 Apache commons-codec 1.3 Apache commons-collections
More informationTopics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2
Maven Maven 1 Topics covered Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session Maven 2 Introduction to Maven Maven 3 What is Maven? A Java project management
More informationComponent based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth
Component based Development Web Application Development Zsolt Tóth University of Miskolc 2017 Zsolt Tóth (University of Miskolc) Component based Development 2017 1 / 30 Table of Contents 1 2 3 4 Zsolt
More informationGiovanni Stilo, Ph.D. 140 Chars to Fly. Twitter API 1.1 and Twitter4J introduction
Giovanni Stilo, Ph.D. stilo@di.uniroma1.it 140 Chars to Fly Twitter API 1.1 and Twitter4J introduction Twitter (Mandatory) Account General operation REST principles Requirements Give every thing an ID
More informationTattletale. What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap
Tattletale What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap Problems You are faced with a lot of Java archives and you don't know how they relate You need
More informationOAuth2 Autoconfig. Copyright
Copyright Table of Contents... iii 1. Downloading... 1 1.1. Source... 1 1.2. Maven... 1 1.3. Gradle... 2 2. Authorization Server... 3 3. Resource Server... 4 I. Token Type in User Info... 5 II. Customizing
More informationIntroduction to Modular Development CON5118
Introduction to Modular Development CON5118 Alan Bateman Java Platform Group, Oracle October 2015 Sessions 1 2 3 4 5 Prepare for JDK 9 Introduction to Modular Development Advanced Modular Development Project
More informationCreating RESTful web services with Spring Boot
Creating RESTful web services with Spring Boot The Spring framework Free and open source Inversion of Control Container (IoC) Modules DI / AOP Data /Security Web MVC/ REST So much more +++ What is Spring
More informationGAVIN KING RED HAT CEYLON SWARM
GAVIN KING RED HAT CEYLON SWARM CEYLON PROJECT A relatively new programming language which features: a powerful and extremely elegant static type system built-in modularity support for multiple virtual
More informationSelenium Testing Course Content
Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference
More informationJOSSO 2.4. Weblogic Integration
JOSSO 2.4 Weblogic Integration JOSSO 2.4 : Weblogic Integration 1. Introduction... 1 1.1. Weblogic Integration Overview... 1 2. Prerequisites and Requirements... 2 3. Weblogic Agent Install... 3 3.1. Assumptions...
More informationSimple REST-APIs with Dropwizard and Swagger. Bernd Schönbach LeanIX GmbH
Simple REST-APIs with Dropwizard and Swagger Bernd Schönbach LeanIX GmbH Motivation Quickly create REST-APIs Make it testable Deploy with a click Or even better automatically Provide Documentation without
More informationGant as Ant and Maven Replacement
Gant as Ant and Maven Replacement Dr Russel Winder Concertant LLP russel.winder@concertant.com russel@russel.org.uk Groovy and Grails User Group 2007 Russel Winder 1 Aims and Objectives Convince people
More informationSetting up a Maven Project
Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were
More informationTOP REASONS WHY YOU SHOULD SWITCH TO MAVEN 3
TOP REASONS WHY YOU SHOULD SWITCH TO MAVEN 3 Dennis Lundberg C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y DENNIS LUNDBERG Systems Architect Java since 1996 Maven PMC member since 2006 Maven
More informationMaven Introduction to Concepts: POM, Dependencies, Plugins, Phases
arnaud.nauwynck@gmail.com Maven Introduction to Concepts: POM, Dependencies, Plugins, Phases This document: http://arnaud-nauwynck.github.io/docs/maven-intro-concepts.pdf 31 M!! What is Maven? https://maven.apache.org/
More informationSession 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p
Session 24 Spring Framework Introduction 1 Reading & Reference Reading dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p http://engineering.pivotal.io/post/must-know-spring-boot-annotationscontrollers/
More informationFat / Uber jars - Using the Shade Plugin
Fat / Uber jars - Using the Shade Plugin Shading the container and the application has some challenges like merging correctly resources (META-INF/services/ typically). Here is a maven shade plugin configuration
More informationWhat is Maven? Apache Maven is a software project management and comprehension tool (build, test, packaging, reporting, site, deploy).
Plan What is Maven? Links : mvn command line tool POM : 1 pom.xml = 1 artifact POM POM Inheritance Standard Directory Layout Demo on JMMC projects Plugins Conclusion What is Maven? Apache Maven is a software
More informationYou, me and jigsaw. Tom Schindl
You, me and jigsaw Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Tom CTO BestSolution.at Systemhaus GmbH
More informationSimple Java Programs. OOC 4 th Sem, B Div Prof. Mouna M. Naravani
Simple Java Programs OOC 4 th Sem, B Div 2016-17 Prof. Mouna M. Naravani /* */ A First Simple Program This is a simple Java program. Call this file "Example.java". class Example { } // Your program begins
More informationTuscany: Applying OSGi modularity after the fact
Tuscany: Applying OSGi modularity after the fact Luciano Resende lresende@apache.org http://lresende.blogspot.com Raymond Feng rfeng@apache.org Agenda Introduction and Motivation Status of current Tools
More informationMicroservices To-Go mit Dropwizard
Microservices To-Go mit Dropwizard Mario Goller Software Engineer, Swisscom AG mario.goller@swisscom.com Java Forum Stuttgart 2017 Excursion: Architecture Comparison Monolith: multiple modules in the same
More informationRobertaLab: Configuration, Architecture, Frameworks, Design
Roberta Seite 1 RobertaLab: Configuration, Architecture, Frameworks, Design reinhard.budde at iais.fraunhofer.de version 0.3 002014 12:57 Overview The system consists out of three distributed components,
More informationCPSC 324 Topics in Java Programming
CPSC 324 Topics in Java Programming Lecture 24 Today Final exam review Java packages and jar files Reminder Group projects on Thursday! Reading Assignment Core: Ch. 10 pp. 493-500 (Jar files) Core: Ch.
More informationArcGIS Runtime SDK for Java: Building Apps. Mark Baird
ArcGIS Runtime SDK for Java: Building Apps Mark Baird Agenda Getting started with 100.4 JavaFX Base maps, layers and lambdas Graphics overlays Offline data Licensing and deployment What is happening in
More informationMAVEN INTERVIEW QUESTIONS
MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get
More informationCertified Core Java Developer VS-1036
VS-1036 1. LANGUAGE FUNDAMENTALS The Java language's programming paradigm is implementation and improvement of Object Oriented Programming (OOP) concepts. The Java language has its own rules, syntax, structure
More informationAdvanced Dependency Management with Gradle. Benjamin Muschko, Gradle Inc.
Advanced Dependency Management with Gradle Benjamin Muschko, Gradle Inc. Custom requirements in complex builds Dependency management requires conscious decisions and trade- offs Transitive dependencies
More informationModularity in Java 9. Balázs Lájer Software Architect, GE HealthCare. HOUG Oracle Java conference, 04. Apr
Modularity in Java 9 Balázs Lájer Software Architect, GE HealthCare HOUG Oracle Java conference, 04. Apr. 2016. Modularity in Java before Java 9 Source: https://www.osgi.org/developer/architecture/ 2 MANIFEST.MF
More information1. Go to the URL Click on JDK download option
Download and installation of java 1. Go to the URL http://www.oracle.com/technetwork/java/javase/downloads/index.html Click on JDK download option 2. Select the java as per your system type (32 bit/ 64
More informationSafely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz
Safely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz Last Updated 2017-11-08 Project Jigsaw: Primary Goals (Reinhold) Make the Java SE Platform, and the JDK, more easily scalable down to small
More informationUnable To The Artifact From Any Repository Maven-clean-plugin
Unable To The Artifact From Any Repository Maven-clean-plugin The default behaviour of the plugin is to first resolve the entire dependency tree, Any manually included purge artifacts will be removed from
More informationLife Without NetBeans
Life Without NetBeans Part A Writing, Compiling, and Running Java Programs Almost every computer and device has a Java Runtime Environment (JRE) installed by default. This is the software that creates
More informationEnterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009
Enterprise Java Development using JPA, Hibernate and Spring Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ)
More informationIndex. Kishori Sharan 2017 K. Sharan, Java 9 Revealed,
Index A Aggregator modules, 17 Applet API, 497 498 Arrays, 495 497 Automatic modules Automatic-Module-Name, 88 89 definition, 86 87 deriving names and versions, 88 explicit modules, 90 exported packages,
More informationIntelliJ IDEA, the most intelligent Java IDE
IntelliJ IDEA, the most intelligent Java IDE IntelliJ IDEA, JetBrains flagship Java IDE, provides high-class support and productivity boosts for enterprise, mobile and web development in Java, Scala and
More informationContinuous Integration INRIA
Vincent Rouvreau - https://sed.saclay.inria.fr February 28, 2017 Contents 1 Preamble To go through this exercise, you will need to install : 1. Git (sudo apt-get install git sudo yum install git) 2. A
More informationTuesday, April 26, 2011
Modular Class Loading With JBoss Modules David M. Lloyd Senior Software Engineer, Red Hat, Inc. The Class Path is Dead - Mark Reinhold, 2009 What does this mean? The limitations inherent in -classpath
More informationContent. Development Tools 2(57)
Development Tools Content Project management and build, Maven Unit testing, Arquillian Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools
More informationGenerating A Hibernate Mapping File And Java Classes From The Sql Schema
Generating A Hibernate Mapping File And Java Classes From The Sql Schema Internally, hibernate maps from Java classes to database tables (and from It also provides data query and retrieval facilities by
More informationThis section describes all application components, technologies and structure
RBX Global : Application overview This page last changed on Mar 25, 2009 by jperez. Application overview The EduCloud SIMS is a software application for educational establishments to manage student data.
More informationSCA Java Runtime Overview
SCA Java Runtime Overview Software Organization Source Code Locations If you take a Tuscany SCA Java source distribution or look in the Tuscany subversion repository (http://svn.apache.org/repos/asf/tuscany/java/sc
More informationgradle : Building Android Apps Mobel Meetup
gradle : Building Android Apps Mobel Meetup 2013-10-15 @alexvb http://alex.vanboxel.be/ Biography Working with Java since the dark ages at Progress Software, Alcatel-Lucent, Interested in science and technology
More informationOracle Code Day Hands On Labs (HOL) (Install, Repository, Local Deploy, DevCS, OACCS)
Oracle Code Day Hands On Labs (HOL) (Install, Repository, Local Deploy, DevCS, OACCS) Table of Contents Getting Started...2 Overview...2 Learning Objectives...2 Prerequisites...2 Software for HOL Lab Session...2
More informationIn this tutorial, we will understand how to use the OpenNLP library to build an efficient text processing service.
About the Tutorial Apache OpenNLP is an open source Java library which is used process Natural Language text. OpenNLP provides services such as tokenization, sentence segmentation, part-of-speech tagging,
More informationApache Isis Maven plugin
Apache Isis Maven plugin Table of Contents 1. Apache Isis Maven plugin................................................................. 1 1.1. Other Guides.........................................................................
More informationEntity Recognition Module. 1.0 Documentation
Entity Recognition Module 1.0 Documentation Created: Table of Contents Entity Recognition Module Installation 4 System Requirements 4 Installation 4 Start and Stop 5 Integration with LucidWorks Search
More informationMARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION
Course Title: Java Technologies Grades: 10-12 Prepared by: Rob Case Course Unit: What is Java? Learn about the history of Java. Learn about compilation & Syntax. Discuss the principles of Java. Discuss
More informationJAVA MICROSERVICES. Java Language Environment. Java Set Up. Java Fundamentals. Packages. Operations
Java Language Environment JAVA MICROSERVICES Object Oriented Platform Independent Automatic Memory Management Compiled / Interpreted approach Robust Secure Dynamic Linking MultiThreaded Built-in Networking
More informationProgramming by Delegation
Chapter 2 a Programming by Delegation I. Scott MacKenzie a These slides are mostly based on the course text: Java by abstraction: A client-view approach (4 th edition), H. Roumani (2015). 1 Topics What
More informationAJDT: Getting started with Aspect-Oriented Programming in Eclipse
AJDT: Getting started with Aspect-Oriented Programming in Eclipse Matt Chapman IBM Java Technology Hursley, UK AJDT Committer Andy Clement IBM Java Technology Hursley, UK AJDT & AspectJ Committer Mik Kersten
More informationAim behind client server architecture Characteristics of client and server Types of architectures
QA Automation - API Automation - All in one course Course Summary: In detailed, easy, step by step, real time, practical and well organized Course Not required to have any prior programming knowledge,
More informationESC/Java2 Use and Features David Cok, Joe Kiniry, Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen
ESC/Java2 Use and Features David Cok, Joe Kiniry, Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial
More informationSimplified Build Management with Maven
Simplified Build Management with Maven Trasys Greece Kostis Kapelonis 11/06/2010 Menu Kitchen says hi!(motivation) Starters (Maven sample pom) Soup (Maven philosophy) Main dish (Library management) Side
More informationAbout me. Jesper Pedersen. Project lead for. Chairman for Boston JBoss User Group. Core developer, JBoss by Red Hat
About me Jesper Pedersen Core developer, JBoss by Red Hat Project lead for IronJacamar JCA container Tattletale software quality tool JBoss Profiler 2 profiler suite Papaki high-performance annotation
More informationSafely Shoot Yourself in the Foot with Java 9
1 Safely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz Last Updated 2017-11-04 2 Project Jigsaw: Primary Goals (Reinhold)! Make the Java SE Platform, and the JDK, more easily scalable down
More informationmaven Build System Making Projects Make Sense
maven Build System Making Projects Make Sense Maven Special High Intensity Training Zen Questions Why are we here? What is a project? What is Maven? What is good? What is the sound of one hand clapping?
More informationZero Turnaround in Java Jevgeni Kabanov
Zero Turnaround in Java Jevgeni Kabanov ZeroTurnaround Lead Aranea and Squill Project Co-Founder Turnaround cycle Make a change Check the change Build, deploy, wait DEMO: SPRING PETCLINIC TURNAROUND Outline
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
More informationRed Hat JBoss Fuse 6.1
Red Hat JBoss Fuse 6.1 Managing OSGi Dependencies How to package applications for OSGi containers Last Updated: 2017-10-12 Red Hat JBoss Fuse 6.1 Managing OSGi Dependencies How to package applications
More informationGetting Started with the Cisco Multicast Manager SDK
CHAPTER 1 Getting Started with the Cisco Multicast Manager SDK Cisco Multicast Manager (CMM) 3.2 provides a Web Services Definition Language (WSDL)-based Application Programming Interface (API) that allows
More informationIBM. IBM WebSphere Application Server Migration Toolkit. WebSphere Application Server. Version 9.0 Release
WebSphere Application Server IBM IBM WebSphere Application Server Migration Toolkit Version 9.0 Release 18.0.0.3 Contents Chapter 1. Overview......... 1 Chapter 2. What's new........ 5 Chapter 3. Support..........
More informationCall: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline
Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Object-Oriented Programming (OOP) concepts Introduction Abstraction Encapsulation Inheritance Polymorphism Getting started with
More informationIbis Communication Library User s Guide
Ibis Communication Library User s Guide http://www.cs.vu.nl/ibis May 24, 2012 1 Introduction This manual describes the steps required to run an application that uses the Ibis communication library. How
More informationPage 1
Java 1. Core java a. Core Java Programming Introduction of Java Introduction to Java; features of Java Comparison with C and C++ Download and install JDK/JRE (Environment variables set up) The JDK Directory
More informationJavaFX.Next. Kevin Rushforth Oracle Johan Vos Gluon October Copyright 2018, Oracle and/or its affiliates. All rights reserved.
JavaFX.Next Kevin Rushforth Oracle Johan Vos Gluon October 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and
More informationCarsten Ziegeler
Embrace OSGi Change A Developer's Quickstart Carsten Ziegeler cziegeler@apache.org About Member of the ASF Sling, Felix, Cocoon, Portals, Sanselan, Excalibur, Incubator PMC: Felix, Portals, Cocoon, Incubator,
More informationSeasar2.3. Yasuo Higa Seasar Foundation/Chief Committer Translated by:h.ozawa
Seasar2.3 Yasuo Higa Seasar Foundation/Chief Committer http://www.seasar.org/en 1 I want to ask this question to every developer in the world, DO YOU REALLY WANT TO WRITE CONFIGURATION FILES? Seasar2 saves
More informationCES Open Source Licenses - Verint Text Analytics
CES Open Source Licenses - Verint Text Analytics Version 15.2 Document Revision 1.00 September 2018 Verint.com Twitter.com/verint Facebook.com/verint Blog.verint.com Table of Contents Open Source Attribution...
More informationEquinox OSGi: Pervasive Componentization
Equinox OSGi: Pervasive Componentization Thomas Watson Equinox Development Lead IBM Lotus Jeff McAffer, Eclipse RCP and Equinox Lead IBM Rational Software 10/3/2006 Why is Eclipse interesting? Extensible
More informationSELENIUM TRAINING COURSE CONTENT
SECTION 1 : INTRODUCTION SELENIUM TRAINING COURSE CONTENT What is automation testing? When Automation Testing is needed? What is the use of automation testing? Different Automation Tools available in the
More informationTable of Contents. Tutorial API Deployment Prerequisites... 1
Copyright Notice All information contained in this document is the property of ETL Solutions Limited. The information contained in this document is subject to change without notice and does not constitute
More informationCreate Datamart. Alessandro Taurelli 2010/06/15 13:41
Create Datamart Alessandro Taurelli 2010/06/15 13:41 Table of Contents Create Datamart... 3 1 Reverse engineering the target database schema... 3 2 Hibernate mapping adjustement... 16 3 jar production
More informationDistributing JavaFX Applications with Java WebStart and Artifactory
Distributing JavaFX Applications with Java WebStart and Artifactory Frederic Simon Yoav Landman JFrog Ltd. About Us Where frogs can code > 10+ years experience in build and dev environments > Promote hassle-free
More informationDemystifying Spring Boot Magic. Patrick DevOps Pro Moscow 2018
Demystifying Spring Boot Magic Patrick Baumgartner @patbaumgartner DevOps Pro Moscow 2018 Who am I? Patrick Baumgartner Spring Boot And Magic? Some famous tweets Magic or Boilerplate? Magic Things happen
More informationXmlbeans-maven-plugin Xml Error Loading Schem
Xmlbeans-maven-plugin Xml Error Loading Schema File Not able to generate entity classes from service.xml file. Jdk14LogImpl info. INFO: No server detec Loading urls(0) = file:/home/barn/.m2/repository/com/liferay/maven/plugins/liferay-mavenplugin/6.0.12/liferay-maven
More informationfor Datum the Impatient
JPMS Name Vorname Migration Guide Position for Datum the Impatient Michael Oswald Senior Java Consultant January, 14 2017 This article discusses some recent changes of the module declaration in the Java
More informationMIGRATION GUIDE DIGITAL EXPERIENCE MANAGER 7.2
1 SUMMARY 1 INTRODUCTION... 4 2 HOW TO UPGRADE FROM DIGITAL EXPERIENCE MANAGER 7.1 TO 7.2... 5 2.1 Code base review and potential impacts... 5 2.2 Deployment scripts/procedure review... 5 2.3 Test environment
More informationAn Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM
An Integrated Approach to Managing Windchill Customizations Todd Baltes Lead PLM Technical Architect SRAM Event hashtag is #PTCUSER10 Join the conversation! Topics What is an Integrated Approach to Windchill
More informationOracle Code Day Hands On Labs HOL
Oracle Code Day Hands On Labs HOL Overview This lab guides you through deploying and running the BlackJack application "locally" via a Tomcat server that is spawned by NetBeans. After successfully running
More informationExceptions and Libraries
Exceptions and Libraries RS 9.3, 6.4 Some slides created by Marty Stepp http://www.cs.washington.edu/143/ Edited by Sarah Heckman 1 Exceptions exception: An object representing an error or unusual condition.
More information