Jars Scanning
To find components the framework can scan the classpath but in this case, to avoid to scan the whole classpath which can be really huge an impacts a lot the startup time, several jars are excluded out of the box.
These jars use the following prefix:
- 
ApacheJMeter
 - 
FastInfoset
 - 
HdrHistogram
 - 
HikariCP
 - 
PDFBox
 - 
RoaringBitmap-
 - 
XmlSchema-
 - 
accessors-smart
 - 
activation-
 - 
activeio-
 - 
activemq-
 - 
aeron
 - 
aether-
 - 
agrona
 - 
akka-
 - 
animal-sniffer-annotation
 - 
annotation
 - 
ant-
 - 
antlr-
 - 
antlr4-
 - 
aopalliance-
 - 
apache-el
 - 
apache-mime4j
 - 
apacheds-
 - 
api-asn1-
 - 
api-common-
 - 
api-util-
 - 
apiguardian-api-
 - 
app-
 - 
archaius-core
 - 
args4j-
 - 
arquillian-
 - 
asciidoctorj-
 - 
asm-
 - 
aspectj
 - 
async-http-client-
 - 
auto-value-
 - 
autoschema-
 - 
avalon-framework-
 - 
avro-
 - 
avro4s-
 - 
awaitility-
 - 
aws-
 - 
axis-
 - 
axis2-
 - 
base64-
 - 
batchee-jbatch
 - 
batik-
 - 
bcmail
 - 
bcpkix
 - 
bcprov-
 - 
beam-model-
 - 
beam-runners-
 - 
beam-sdks-
 - 
bigtable-client-
 - 
bigtable-protos-
 - 
boilerpipe-
 - 
bonecp
 - 
bootstrap.jar
 - 
brave-
 - 
bsf-
 - 
build-link
 - 
bval
 - 
byte-buddy
 - 
c3p0-
 - 
cache
 - 
carrier
 - 
cassandra-driver-core
 - 
catalina-
 - 
catalina.jar
 - 
cats
 - 
cdi-
 - 
cglib-
 - 
charsets.jar
 - 
chill
 - 
classindex
 - 
classmate
 - 
classutil
 - 
classycle
 - 
cldrdata
 - 
commands-
 - 
common-
 - 
commons-
 - 
component-api
 - 
component-form
 - 
component-runtime
 - 
component-server
 - 
component-spi
 - 
component-studio
 - 
components-adapter-beam
 - 
components-api
 - 
components-common
 - 
compress-lzf
 - 
config
 - 
constructr
 - 
container-core
 - 
contenttype
 - 
coverage-agent
 - 
cryptacular-
 - 
cssparser-
 - 
curator-
 - 
curvesapi-
 - 
cxf-
 - 
daikon
 - 
databinding
 - 
dataquality
 - 
dataset-
 - 
datastore-
 - 
debugger-agent
 - 
deltaspike-
 - 
deploy.jar
 - 
derby-
 - 
derbyclient-
 - 
derbynet-
 - 
dnsns
 - 
dom4j
 - 
draw2d
 - 
easymock-
 - 
ecj-
 - 
eclipselink-
 - 
ehcache-
 - 
el-api
 - 
enumeratum
 - 
enunciate-core-annotations
 - 
error_prone_annotations
 - 
expressions
 - 
fastutil
 - 
feign-core
 - 
feign-hystrix
 - 
feign-slf4j
 - 
filters-helpers
 - 
findbugs-
 - 
fluent-hc
 - 
fluentlenium-core
 - 
fontbox
 - 
freemarker-
 - 
fusemq-leveldb-
 - 
gax-
 - 
gcsio-
 - 
gef-
 - 
geocoder
 - 
geronimo-
 - 
gmbal
 - 
google-
 - 
gpars-
 - 
gragent.jar
 - 
graph
 - 
grizzled-scala
 - 
grizzly-
 - 
groovy-
 - 
grpc-
 - 
gson-
 - 
guava-
 - 
guice-
 - 
h2-
 - 
hadoop-
 - 
hamcrest-
 - 
hawtbuf-
 - 
hawtdispatch-
 - 
hawtio-
 - 
hawtjni-runtime
 - 
help-
 - 
hibernate-
 - 
hk2-
 - 
howl-
 - 
hsqldb-
 - 
htmlunit-
 - 
htrace-
 - 
httpclient-
 - 
httpcore-
 - 
httpmime
 - 
hystrix
 - 
iban4j-
 - 
icu4j-
 - 
idb-
 - 
idea_rt.jar
 - 
instrumentation-api
 - 
ion-java
 - 
isoparser-
 - 
istack-commons-runtime-
 - 
ivy-
 - 
j2objc-annotations
 - 
jBCrypt
 - 
jaccess
 - 
jackcess-
 - 
jackson-
 - 
janino-
 - 
jansi-
 - 
jasper-el.jar
 - 
jasper.jar
 - 
jasypt-
 - 
java-atk-wrapper
 - 
java-libpst-
 - 
java-support-
 - 
java-xmlbuilder-
 - 
javacsv
 - 
javaee-
 - 
javaee-api
 - 
javassist-
 - 
javaws.jar
 - 
javax.
 - 
jaxb-
 - 
jaxp-
 - 
jbake-
 - 
jboss-
 - 
jbossall-
 - 
jbosscx-
 - 
jbossjts-
 - 
jbosssx-
 - 
jcache
 - 
jce.jar
 - 
jcip-annotations
 - 
jcl-over-slf4j-
 - 
jcommander-
 - 
jdbcdslog-1
 - 
jempbox
 - 
jersey-
 - 
jets3t
 - 
jettison-
 - 
jetty-
 - 
jface
 - 
jfairy
 - 
jffi
 - 
jfr.jar
 - 
jfxrt.jar
 - 
jfxswt
 - 
jhighlight
 - 
jjwt
 - 
jline
 - 
jmatio-
 - 
jmdns-
 - 
jmespath-
 - 
jms
 - 
jmustache
 - 
jna-
 - 
jnr-
 - 
jobs-
 - 
joda-convert
 - 
joda-time-
 - 
johnzon-
 - 
jolokia-
 - 
jopt-simple
 - 
jruby-
 - 
json-
 - 
json4s-
 - 
jsonb-api
 - 
jsoup-
 - 
jsp-api
 - 
jsr
 - 
jsse.jar
 - 
jta
 - 
jul-to-slf4j-
 - 
juli-
 - 
junit-
 - 
junit5-
 - 
juniversalchardet
 - 
junrar-
 - 
jwt
 - 
jython
 - 
kafka
 - 
kahadb-
 - 
kotlin-runtime
 - 
kryo
 - 
leveldb
 - 
libphonenumber
 - 
lift-json
 - 
lmdbjava
 - 
localedata
 - 
log4j-
 - 
logback
 - 
logging-event-layout
 - 
logkit-
 - 
lombok
 - 
lucene
 - 
lz4
 - 
machinist
 - 
macro-compat
 - 
mail-
 - 
management-
 - 
mapstruct-
 - 
maven-
 - 
mbean-annotation-api-
 - 
meecrowave-
 - 
mesos-
 - 
metadata-extractor-
 - 
metrics-
 - 
microprofile-config-api-
 - 
mimepull-
 - 
mina-
 - 
minlog
 - 
mockito-core
 - 
mqtt-client-
 - 
multitenant-core
 - 
multiverse-core-
 - 
mx4j-
 - 
myfaces-
 - 
mysql-connector-java-
 - 
nashorn
 - 
neethi-
 - 
neko-htmlunit
 - 
nekohtml-
 - 
netflix
 - 
netty-
 - 
nimbus-jose-jwt
 - 
objenesis-
 - 
okhttp
 - 
okio
 - 
opencensus-
 - 
openjpa-
 - 
openmdx-
 - 
opennlp-
 - 
opensaml-
 - 
opentest4j-
 - 
openwebbeans-
 - 
openws-
 - 
ops4j-
 - 
org.apache.aries
 - 
org.apache.commons
 - 
org.apache.log4j
 - 
org.eclipse.
 - 
org.junit.
 - 
org.osgi.core-
 - 
org.osgi.enterprise
 - 
org.talend
 - 
orient-commons-
 - 
orientdb-core-
 - 
orientdb-nativeos-
 - 
oro-
 - 
osgi
 - 
paranamer
 - 
parquet
 - 
pax-url
 - 
pdfbox
 - 
play
 - 
plexus-
 - 
plugin.jar
 - 
poi-
 - 
postgresql
 - 
preferences-
 - 
prefixmapper
 - 
proto-
 - 
protobuf-
 - 
py4j-
 - 
pyrolite-
 - 
qdox-
 - 
quartz-2
 - 
quartz-openejb-
 - 
reactive-streams
 - 
reflectasm-
 - 
reflections
 - 
regexp-
 - 
registry-
 - 
resources.jar
 - 
rhino
 - 
ribbon
 - 
rmock-
 - 
rome
 - 
routes-compiler
 - 
routines
 - 
rt.jar
 - 
runners
 - 
runtime-
 - 
rxjava
 - 
rxnetty
 - 
saaj-
 - 
sac-
 - 
scala
 - 
scalap
 - 
scalatest
 - 
scannotation-
 - 
selenium
 - 
serializer-
 - 
serp-
 - 
service-common
 - 
servlet-api-
 - 
servo-
 - 
shaded
 - 
shapeless
 - 
shrinkwrap-
 - 
sisu-guice
 - 
sisu-inject
 - 
slf4j-
 - 
slick
 - 
smack-
 - 
smackx-
 - 
snakeyaml-
 - 
snappy-
 - 
spark-
 - 
specs2
 - 
spring-
 - 
sshd-
 - 
ssl-config-core
 - 
stax-api-
 - 
stax2-api-
 - 
stream
 - 
sunec.jar
 - 
sunjce_provider
 - 
sunpkcs11
 - 
surefire-
 - 
swagger-
 - 
swizzle-
 - 
sxc-
 - 
system-rules
 - 
tachyon-
 - 
tagsoup-
 - 
talend-icon
 - 
test-agent
 - 
test-interface
 - 
testng-
 - 
threetenbp
 - 
tika-
 - 
tomcat
 - 
tomee-
 - 
tools.jar
 - 
twirl
 - 
twitter4j-
 - 
tyrex
 - 
uncommons
 - 
unused
 - 
util
 - 
validation-api-
 - 
velocity-
 - 
wagon-
 - 
wandou
 - 
webbeans-
 - 
websocket
 - 
woodstox-core
 - 
workbench
 - 
ws-commons-util-
 - 
wsdl4j-
 - 
wss4j-
 - 
wstx-asl-
 - 
xalan-
 - 
xbean-
 - 
xercesImpl-
 - 
xlsx-streamer-
 - 
xml-apis-
 - 
xml-resolver-
 - 
xmlbeans-
 - 
xmlenc-
 - 
xmlgraphics-
 - 
xmlpcore
 - 
xmlpull-
 - 
xmlrpc-
 - 
xmlschema-
 - 
xmlsec-
 - 
xmltooling-
 - 
xmlunit-
 - 
xstream-
 - 
xz-
 - 
zipfs.jar
 - 
zipkin-
 - 
ziplock-
 - 
zkclient
 - 
zookeeper-
 
Package Scanning
Since the framework can be used in the case of fatjars or shades, and because it still uses scanning, it is important to ensure we don’t scan the whole classes for performances reason.
Therefore, the following packages are ignored:
- 
avro.shaded
 - 
com.codehale.metrics
 - 
com.ctc.wstx
 - 
com.datastax.driver.core
 - 
com.fasterxml.jackson.annotation
 - 
com.fasterxml.jackson.core
 - 
com.fasterxml.jackson.databind
 - 
com.fasterxml.jackson.dataformat
 - 
com.fasterxml.jackson.module
 - 
com.google.common
 - 
com.google.thirdparty
 - 
com.ibm.wsdl
 - 
com.jcraft.jsch
 - 
com.kenai.jffi
 - 
com.kenai.jnr
 - 
com.sun.istack
 - 
com.sun.xml.bind
 - 
com.sun.xml.messaging.saaj
 - 
com.sun.xml.txw2
 - 
com.thoughtworks
 - 
io.jsonwebtoken
 - 
io.netty
 - 
io.swagger.annotations
 - 
io.swagger.config
 - 
io.swagger.converter
 - 
io.swagger.core
 - 
io.swagger.jackson
 - 
io.swagger.jaxrs
 - 
io.swagger.model
 - 
io.swagger.models
 - 
io.swagger.util
 - 
javax
 - 
jnr
 - 
junit
 - 
net.sf.ehcache
 - 
net.shibboleth.utilities.java.support
 - 
org.aeonbits.owner
 - 
org.apache.activemq
 - 
org.apache.beam
 - 
org.apache.bval
 - 
org.apache.camel
 - 
org.apache.catalina
 - 
org.apache.commons.beanutils
 - 
org.apache.commons.cli
 - 
org.apache.commons.codec
 - 
org.apache.commons.collections
 - 
org.apache.commons.compress
 - 
org.apache.commons.dbcp2
 - 
org.apache.commons.digester
 - 
org.apache.commons.io
 - 
org.apache.commons.jcs.access
 - 
org.apache.commons.jcs.admin
 - 
org.apache.commons.jcs.auxiliary
 - 
org.apache.commons.jcs.engine
 - 
org.apache.commons.jcs.io
 - 
org.apache.commons.jcs.utils
 - 
org.apache.commons.lang
 - 
org.apache.commons.lang3
 - 
org.apache.commons.logging
 - 
org.apache.commons.pool2
 - 
org.apache.coyote
 - 
org.apache.cxf
 - 
org.apache.geronimo.javamail
 - 
org.apache.geronimo.mail
 - 
org.apache.geronimo.osgi
 - 
org.apache.geronimo.specs
 - 
org.apache.http
 - 
org.apache.jcp
 - 
org.apache.johnzon
 - 
org.apache.juli
 - 
org.apache.logging.log4j.core
 - 
org.apache.logging.log4j.jul
 - 
org.apache.logging.log4j.util
 - 
org.apache.logging.slf4j
 - 
org.apache.meecrowave
 - 
org.apache.myfaces
 - 
org.apache.naming
 - 
org.apache.neethi
 - 
org.apache.openejb
 - 
org.apache.openjpa
 - 
org.apache.oro
 - 
org.apache.tomcat
 - 
org.apache.tomee
 - 
org.apache.velocity
 - 
org.apache.webbeans
 - 
org.apache.ws
 - 
org.apache.wss4j
 - 
org.apache.xbean
 - 
org.apache.xml
 - 
org.apache.xml.resolver
 - 
org.bouncycastle
 - 
org.codehaus.jackson
 - 
org.codehaus.stax2
 - 
org.codehaus.swizzle.Grep
 - 
org.codehaus.swizzle.Lexer
 - 
org.cryptacular
 - 
org.eclipse.jdt.core
 - 
org.eclipse.jdt.internal
 - 
org.fusesource.hawtbuf
 - 
org.h2
 - 
org.hamcrest
 - 
org.hsqldb
 - 
org.jasypt
 - 
org.jboss.marshalling
 - 
org.joda.time
 - 
org.jose4j
 - 
org.junit
 - 
org.jvnet.mimepull
 - 
org.metatype.sxc
 - 
org.objectweb.asm
 - 
org.objectweb.howl
 - 
org.openejb
 - 
org.opensaml
 - 
org.slf4j
 - 
org.swizzle
 - 
org.terracotta.context
 - 
org.terracotta.entity
 - 
org.terracotta.modules.ehcache
 - 
org.terracotta.statistics
 - 
org.tukaani
 - 
org.yaml.snakeyaml
 - 
serp
 
it is not recommanded but possible to add in your plugin module a
TALEND-INF/scanning.properties file with classloader.includes and
classloader.excludes entries to refine the scanning with custom rules.
In such a case, exclusions win over inclusions.
 |