JAI vendorname == null

前端 未结 6 1742
执笔经年
执笔经年 2020-12-03 11:22

So I finished coding my application to rotate TIFF images which required JAI to manipulate the TIFFs.

It works fine when working under Eclipse, but whenever I build

6条回答
  •  鱼传尺愫
    2020-12-03 11:37

    DISCLAIMER

    The issue that I was having was slightly different, I was getting the "ClassNotFound" error while trying to run a compiled jar file. I happened upon this SO question while researching, so for others who followed the same trail that I did, here you go.

    Possible Solution to ClassNotFound Error

    To those who may find this question later on, if nothing else seems to work, You could try using the Apache Shader plugin for Maven. Here is some more information on it.

    I'm not experienced enough to be able to tell you how it does it, but Apache Shader packages all the used dependencies in your project into the final jar file, so that all the dependencies are included in the META-INF folder when it's built. This increases the size of the jar file (depending on how many libraries you used in your project), but also seems to fix the jar not being able to find classes from outside libraries that are used.

    To use the Shader plugin, add the following to your POM. I included it after the dependencies tag and before the properties tag.

    
        
            
                org.apache.maven.plugins
                maven-shade-plugin
                2.4.3
                
                    
                        package
                        
                            shade
                        
                        
                            
                                
                                    *:*
                                    
                                        META-INF/*.SF
                                        META-INF/*.DSA
                                        META-INF/*.RSA
                                    
                                
                            
                            
                                
                                    
                                        com.package.name.className
                                        1
                                    
                                
                            
                        
                    
                
            
        
    
    

    NOTE: Make sure you change the package and class name to reflect your project's package and class names.

    Other useful links: Similar stack overflow question

提交回复
热议问题