iam-service本地启动报错

你们没有做二开吧?

IDEA清缓存了也不行. 没有做二开, 就是clone下来打算先启动试试看都发现起不来.

根据你的异常,你看看你本地能不能找到hzero的这个类呢?

我本地找不到这个类, 看你发的这个图片你是把我的报错复现出来了吗?该怎么解决呢?

这个类在依赖里面,看看是不是没拉取到对应依赖

是的, 我刚才看了没有hzero-platform-saas-1.6.4.RELEASE这个jar包.少了这个依赖, 该在pom文件里如何添加呢?我在公库里没找到这个jar包.
如果是按照这个逻辑的话, workflow那个服务也是少了依赖导致jar包缺失, 那个服务又该如何增加maven依赖呢?麻烦解答一下

在pom中添加

      <repository>
            <id>HandPublic</id>
            <name>Hand-Public Repository</name>
            <url>http://nexus.saas.hand-china.com/content/repositories/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
        <repository>
            <id>HzeroRelease</id>
            <name>Hzero-Release Repository</name>
            <url>http://nexus.saas.hand-china.com/content/repositories/Hzero-Release/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>

不对呀 我们pom原本就有这个,可能我本地依赖比较新,你看看你拉取到的hzero的版本是啥

是的, 我拉取的版本是1.6.1的, pom文件里的依赖如下, 这个依赖我没动过

<!-- 依赖的服务 -->
        <dependency>
            <groupId>org.hzero</groupId>
            <artifactId>hzero-platform-saas</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>hzero-starter-dynamic-route</artifactId>
                    <groupId>org.hzero.starter</groupId>
                </exclusion>
                <exclusion>
                    <groupId>org.hzero.starter</groupId>
                    <artifactId>hzero-starter-hitoa</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>hzero-starter-integrate-dd</artifactId>
                    <groupId>org.hzero.starter</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>hzero-starter-integrate-wechat-enterprise</artifactId>
                    <groupId>org.hzero.starter</groupId>
                </exclusion>
                <exclusion>
                    <groupId>org.hzero.starter</groupId>
                    <artifactId>hzero-starter-websocket</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

但是虽然依赖有1.6.1的版本, 并且该jar包里也有AuditLogin, 可好像是没导入到项目里, 用IDEA搜不出来.

此外还有一个情况是, IDEA无法跑起来, 但是我使用控制台命令 mvn clean spring-boot:run 却可以正常启动不会报错. 这该怎么解决

那就是依赖没有到idea中哈,网上搜索下,应该有方案的

还是不行, 网上的方法都试过了没有用, IDEA版本也换了好几个了, 也是都没用. 始终是报那个错.

我将hzero-platform-saas指定为1.6.4.RELEASE版本后, 之前的错误没有报了, 但是报了另外的错误.

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [io.choerodon.platform.PlatformApplication]; nested exception is java.lang.IllegalStateException: Failed to introspect annotated methods on class org.hzero.autoconfigure.platform.PlatformAutoConfiguration
	at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:646)
	at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:303)
	at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245)
	at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:202)
	at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:170)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:316)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:271)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:91)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:692)
	at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:530)
	at org.springframework.context.support.AbstractApplicationContext.jrLockAndRefresh(AbstractApplicationContext.java:40002)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:41008)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:386)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)
	at io.choerodon.platform.PlatformApplication.main(PlatformApplication.java:13)
Caused by: java.lang.IllegalStateException: Failed to introspect annotated methods on class org.hzero.autoconfigure.platform.PlatformAutoConfiguration
	at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:169)
	at org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:393)
	at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:318)
	at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245)
	at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:636)
	... 19 more
Caused by: java.lang.NoClassDefFoundError: org/hzero/boot/platform/language/autoconfigure/LanguageAutoRefreshProperties
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	at java.lang.Class.getDeclaredMethods(Class.java:1975)
	at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:158)
	... 23 more
Caused by: java.lang.ClassNotFoundException: org.hzero.boot.platform.language.autoconfigure.LanguageAutoRefreshProperties
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 27 more

这段错误信息报完就自动退出了启动, 这是怎么回事呢

如果mvn clean spring-boot:run启动没问题,那我们提供的依赖和源码都没问题;
不知你idea啥情况,我也让其他同事本地启动了platform都没有问题,一般就是清理下缓存,重启下idea基本能解决问题
还有不要随意换依赖版本,每个版本都有配套的parent版本。

不行就用命令行启动吧,platform服务我们也没二开啥

我本地除了platform和workflow在命令行启动, 其他都在IDEA启动了. 有些是需要将启动配置里的Shorten command line改为none才能启动, 否则也会报一样的错误, 我猜测platform和workflow也是这样, 如果改为none就可顺利启动. 但是platform和workflow改为none后会报command line is too long. 我按照网上的教程改成jar mainfest后就会报错上面回复图片里的信息. 我想知道这是否是因为你们的源代码启动时在classpath里添加了很多命令? 如果是的话该怎么修改?

IDEA里platform和workflow已经顺利启动了, 使用的是Shorten command line第3种方式classpath file, 总之就是Shorten command line的3种方式换着试启动就可以. 感谢这几天的解答.

:+1:

你好我这边还有个问题想询问一下, 就是本地开发我并不想要jwt验证太麻烦了, 猪齿鱼这么多服务有验证的总开关吗? 还是说得一个个服务里去关闭? 如果关闭的话如何关闭呢? 我试着修改oauth但是并没有用. 网上那些博客我也都试了并没有用