On Tuesday, July 19, 2016 at 4:58:21 PM UTC-4, Rudi Wirth wrote:
>
> I even added some code stolen from DiscoverableSubtypeResolver which 
> prints out various DW factories:
>
> ..
>
> The list looks correct, both running from java -jar uber-jar and running 
> out of Eclipse
>

I should've looked harder. I only looked at the leave classes. I ended up 
debugging the discovery stuff, here:

Thread [main] (Suspended)    
    DiscoverableSubtypeResolver.<init>(Class<?>) line: 40    
    DiscoverableSubtypeResolver.<init>() line: 29    
    Jackson.configure(ObjectMapper) line: 61    
    Jackson.newObjectMapper() line: 23    
    Bootstrap<T>.<init>(Application<T>) line: 64    


Uber-jar:

resource 
jar:file:/opt/nuodb/jar/nuoagent2.jar!/META-INF/services/io.dropwizard.jackson.
*Discoverable*
 io.dropwizard.server.ServerFactory
resource 
jar:file:/opt/nuodb/jar/nuoagent2.jar!/META-INF/services/io.dropwizard.jetty.ConnectorFactory
 io.dropwizard.jetty.HttpConnectorFactory
 io.dropwizard.jetty.HttpsConnectorFactory
resource 
jar:file:/opt/nuodb/jar/nuoagent2.jar!/META-INF/services/io.dropwizard.logging.AppenderFactory
 io.dropwizard.logging.ConsoleAppenderFactory
 io.dropwizard.logging.FileAppenderFactory
 io.dropwizard.logging.SyslogAppenderFactory
resource 
jar:file:/opt/nuodb/jar/nuoagent2.jar!/META-INF/services/io.dropwizard.metrics.ReporterFactory
 io.dropwizard.metrics.ConsoleReporterFactory
 io.dropwizard.metrics.CsvReporterFactory
 io.dropwizard.metrics.Slf4jReporterFactory
resource 
jar:file:/opt/nuodb/jar/nuoagent2.jar!/META-INF/services/io.dropwizard.server.ServerFactory
 io.dropwizard.server.DefaultServerFactory
 io.dropwizard.server.SimpleServerFactory

Eclipse or mvn exec:java:

resource 
jar:file:/Users/rwirth/.m2/repository/io/dropwizard/dropwizard-core/0.9.1/dropwizard-core-0.9.1.jar!/META-INF/services/io.dropwizard.jackson.
*Discoverable*
 io.dropwizard.server.ServerFactory
resource 
jar:file:/Users/rwirth/.m2/repository/io/dropwizard/dropwizard-jetty/0.9.1/dropwizard-jetty-0.9.1.jar!/META-INF/services/io.dropwizard.jackson.
*Discoverable*
 io.dropwizard.jetty.ConnectorFactory
resource 
jar:file:/Users/rwirth/.m2/repository/io/dropwizard/dropwizard-logging/0.9.1/dropwizard-logging-0.9.1.jar!/META-INF/services/io.dropwizard.jackson.
*Discoverable*
 io.dropwizard.logging.AppenderFactory
 io.dropwizard.logging.LoggingFactory
resource 
jar:file:/Users/rwirth/.m2/repository/io/dropwizard/dropwizard-metrics/0.9.1/dropwizard-metrics-0.9.1.jar!/META-INF/services/io.dropwizard.jackson.
*Discoverable*
 io.dropwizard.metrics.ReporterFactory
resource 
jar:file:/Users/rwirth/.m2/repository/io/dropwizard/dropwizard-jetty/0.9.1/dropwizard-jetty-0.9.1.jar!/META-INF/services/io.dropwizard.jetty.ConnectorFactory
 io.dropwizard.jetty.HttpConnectorFactory
 io.dropwizard.jetty.HttpsConnectorFactory
resource 
jar:file:/Users/rwirth/.m2/repository/io/dropwizard/dropwizard-logging/0.9.1/dropwizard-logging-0.9.1.jar!/META-INF/services/io.dropwizard.logging.AppenderFactory
 io.dropwizard.logging.ConsoleAppenderFactory
 io.dropwizard.logging.FileAppenderFactory
 io.dropwizard.logging.SyslogAppenderFactory
resource 
jar:file:/Users/rwirth/.m2/repository/io/dropwizard/dropwizard-metrics/0.9.1/dropwizard-metrics-0.9.1.jar!/META-INF/services/io.dropwizard.metrics.ReporterFactory
 io.dropwizard.metrics.ConsoleReporterFactory
 io.dropwizard.metrics.CsvReporterFactory
 io.dropwizard.metrics.Slf4jReporterFactory
resource 
jar:file:/Users/rwirth/.m2/repository/io/dropwizard/dropwizard-core/0.9.1/dropwizard-core-0.9.1.jar!/META-INF/services/io.dropwizard.server.ServerFactory
 io.dropwizard.server.DefaultServerFactory
 io.dropwizard.server.SimpleServerFactory

So for some reason, the shade plugin did not take care of multiple services 
for the same interface in 4 jars, 
META-INF/services/io.dropwizard.jackson.Discoverable

I was able to jar xf the META-INF/services/io.dropwizard.jackson.Discoverable, 
edit it, then jar uf the uber-jar and DW is starting up. Same with 

META-INF/services/javax.validation.spi.ValidationProvider per my initial post.


Once I know how to make the ServicesResourceTransformer 
<https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ServicesResourceTransformer>
 
behave, I'll post again. I have no idea why one of our rest apps works 
fine, and this one doesn't, when they both use the same maven shade step.

-- 
You received this message because you are subscribed to the Google Groups 
"dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to