問題タブ [javassist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
462 参照

java - spring + hibernate システム アクセス拒否

私は現在、会社のウェブサイトを開発しており、春と休止状態を使用しています。ウェブサイトは完成間近です。ただし、Web ホスティングにデプロイすると、次のエラーが表示されます。

16:51:39,518 WARN PoolConfig:105 - システム プロパティの読み取りがブロックされました -- システム プロパティによる c3p0 構成は無視されます! (ただし、c3p0.properties ファイルによる構成は問題ありません!) java.security.AccessControlException: アクセスが拒否されました (java.util.PropertyPermission * read,write) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) で java.lang.SecurityManager.checkPermission(SecurityManager.java:532) で java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1252) で java.lang.System .getProperties(System.java:580) com.mchange.v2.c3p0.PoolConfig.(PoolConfig.java:101) com.mchange.v2.c3p0.impl.C3P0ImplUtils.defaultConnectionTester(C3P0ImplUtils.java:283) com .mchange.v2.c3p0.

16:51:45,639 ERROR BasicLazyInitializer:165 - Javassist Enhancement が失敗しました: com.xxx.entity.xxx java.security.AccessControlException: アクセスが拒否されました (java.lang.RuntimePermission getProtectionDomain) java.security.AccessControlContext.checkPermission(AccessControlContext.java: 323) java.security.AccessController.checkPermission(AccessController.java:546) で java.lang.SecurityManager.checkPermission(SecurityManager.java:532) で java.lang.Class.getProtectionDomain(Class.java:2106) で javassist. util.proxy.ProxyFactory.getDomain(ProxyFactory.java:619) で javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:501) で javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:486) で javassist javassist.util.proxy.ProxyFactory の .util.proxy.ProxyFactory.createClass1(ProxyFactory.java:422)。org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:65) で createClass(ProxyFactory.java:394) org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:185) で org.hibernate.tuple.entity.AbstractEntityTuplizer.(AbstractEntityTuplizer.java:167) で.java:77) で sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) で sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) で sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) で java. lang.reflect.Constructor.org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:105) の newInstance(Constructor.java:513) org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:133) の org.hibernate .tuple.entity.EntityEntityModeToTuplizerMapping.(EntityEntityModeToTuplizerMapping.java:80) org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:322) org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:485) org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:133) で org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84) で org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:286) ) org.hibernate.cfg.Configuration にあります。org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:753) の buildSessionFactory(Configuration.java:1872) org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:691) の org.springframework .orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1346) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initialBeanize (AbstractAutowireCapableBeanFactory.java:1315) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) で org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) at org.springframework.beans.factory.support .AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:168) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java) :398) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735) で org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369) で org.org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener. java:45) com.caucho.server.http.Application.init(Application.java:1845) com.caucho.server.http.VirtualHost.startApplication(VirtualHost.java:1207) com.caucho.server.http .VirtualHost.getInvocation(VirtualHost.java:1007) で com.caucho.server.http.ServletServer.getInvocation(ServletServer.java:1249) で com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:343) でcom.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274) com.caucho.server.TcpConnection.run(TcpConnection.java:139) java.lang.Thread.run(Thread.java:619) 16:51:45,664 WARN PojoEntityTuplizer:197 - com.xxx.entity.xxx org.hibernate.HibernateException のプロキシ ファクトリを作成できませんでした: Javassist 拡張に失敗しました: org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:65) で org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:169) で com.hitv.entity.ProductMap org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:185) で org.hibernate.tuple.entity.AbstractEntityTuplizer.(AbstractEntityTuplizer.java:167) で.java:77) の sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブ メソッド) の sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) で sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) で java.lang.reflect.Constructor.newInstance(Constructor.java:513) で org.hibernate.tuple.entity .EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:105) org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:133) org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.(EntityEntityModeToTuplizerMapping.java:80) org .hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:322) org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:485) org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:133) org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84) で org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:286) で org.hibernate.cfg.Configuration.buildSessionFactory(Configuration. java:1872) org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:753) org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:691) org.springframework.orm.hibernate3 .AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1346) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) の initializeBean(AbstractAutowireCapableBeanFactory.java:1315) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) ) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) で org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) で org.springframework.beans. factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:168) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:398) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369) org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:245) org .springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:188) の org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) の com.caucho.server.http.Application.init(Application) .java:1845) com.caucho.server.http.VirtualHost.startApplication(VirtualHost.java:1207) com.caucho.server.http.VirtualHost.getInvocation(VirtualHost.java:1007) com.caucho.server. http.ServletServer.getInvocation(ServletServer.java:1249) com で。caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:343) com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274) com.caucho.server.TcpConnection.run(TcpConnection.java: 139) java.lang.Thread.run(Thread.java:619) で 原因: java.security.AccessControlException: java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) でのアクセスが拒否されました (java.lang.RuntimePermission getProtectionDomain) ) java.security.AccessController.checkPermission(AccessController.java:546) で java.lang.SecurityManager.checkPermission(SecurityManager.java:532) で java.lang.Class.getProtectionDomain(Class.java:2106) で javassist.util .proxy.ProxyFactory.getDomain(ProxyFactory.java:619) で javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:501) で javassist.util.org.hibernate で.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:162) ... 41 もっと見る

久しぶりにネットで検索。サーバーのセキュリティポリシーの問題のようです。フレームワークのコードを変更してセキュリティ制限を回避する方法はありますか? ログに従ってどのファイルを変更する必要がありますか?

前もって感謝します!

0 投票する
1 に答える
667 参照

java - javassist javaコアクラスでインストルメントすることは可能ですか?ブートストラップクラスローダーによってロードされたクラス

コアJDK5クラスのメソッドに「insertBefore」を追加したいと思います。何らかの理由で機能していません。コードの例を次に示します。

com.sun.org.apache.xerces.internal.impl.xs.XSMessageFormatterはJDKにバンドルされており、rt.jar内にあります。上記のスニペットの後、XSMessageFormatterクラスを強制的に実行するコードを実行しましたが、挿入したコードは実行されません。私はこれを自分のクラスでしか機能させることができません。このコードは、単純なスタンドアロンアプリとして実行されています。

何か案は?

0 投票する
3 に答える
10138 参照

java - クラス署名で「()V」とはどういう意味ですか?

Javassist で実際のメソッドを持たないコンストラクタを作成しました

このクラスの署名を出そうとすると

私は得る

「V」の意味がわかりません。public Echo (); のいずれかを期待していました。または似たようなもの...

0 投票する
2 に答える
1314 参照

java - JVMに挿入する前にJavaバイトコードを検証する方法は?

「オンザフライ」で生成されたバイトコードを検証しようとしています。

私はすでにいくつかの試みをしました。1つの試みはEclipseコンパイラを使用して実行時にクラスをコンパイルすることであり、もう1つはここで説明するようにメモリからコンパイルすることでした。

メモリからコンパイル

最初の結果は問題ないように見えましたが、JAVA 6のガイドラインとセキュリティ測定、および通常のOOPモデルに従って、検証プロセスが本当に有効かどうかはまだ100%わかりません。

バイトコードを検証するためのより良い方法はありますか?

0 投票する
1 に答える
927 参照

proxy - javassist プロキシ バイトコードを .class ファイルに書き込みますか?

ProxyFactory.makeForwarder が実際に何をするかを理解するために、javassist プロキシを逆コンパイルしたいと思います。クラス バイトコードを CtClass から OutputStream に書き込むことは可能ですが、ProxyFactory.createClass() で開始する場合に CtClass を作成する方法がわかりません - Hibernate が javassist を使用する方法を模倣します。これが私が試したことです:

これが結果です。

javassist.NotFoundException: javassist.jassist_163.Product_$$_javassist_0 at javassist.ClassPool.get(ClassPool.java:450) at javassist.jassist_163.Find2MethodsPerfTest.testProxyToDisk(Find2MethodsPerfTest.java:36)

Test クラスと Product クラスは同じパッケージ (javassist.jassist_163) にあります。ありがとうございました。

0 投票する
1 に答える
960 参照

annotations - Javassist でメソッドの修飾子を削除できますか?

みんな。

クラスファイルがあります。

に変更したい

Javassist を使用して実装できますか? javassist を使用してクラス ファイルのメソッドに注釈を追加するにはどうすればよいですか? どんな提案も大歓迎です!ありがとう

0 投票する
2 に答える
769 参照

java - javassistを使用してjava演算子をバイトコードのメソッドに置き換えます

私の目標

実行時に比較が行われるタイミング(または、*、-、/、>、<、..などの他の操作)を検出できるようにするため。

これは、Javassistまたはow2ASMを使用してクラスのバイトコードを編集するために実現する必要があります

達成しなければならないこと

このコード

になる必要があります

greatThanは、「>」とまったく同じ結果を返しますが、比較の量を節約するためにも使用されます。その後、比較が行われるたびに外部クラスに通知されます。

追記

それは、手術があるところならどこでも行われなければなりません。したがって、ifステートメントだけではありません。

これの意味は

またになる必要があります

Javassistまたは他のライブラリでこれを実現する方法について何か提案はありますか。

IFLT、IFGTなどのオペコードと関係があると思います

0 投票する
1 に答える
2137 参照

java - Javassist を使用して親クラスのプライベート メソッドを計測しますか?

Javassist を使用して、ソースが制御できない Java クラス (Java 1.6.0_26-b03、Javassist 3.16.1-GA) を計測したいと考えています。

私は Javassist には比較的慣れていませんが、その背後にある概念は知っていると思います。私はそれについてたくさん読みましたが、おそらく何かを見逃していました。次の非常に単純なコードをご覧ください。

ファイル ParentPrivateMethodInstrumentingTest.java:

ファイルParent.java:

ファイル Child.java:

このプログラムを実行すると、出力は次のようになります。

だから私の質問は、バイトコードに挿入されたと思っていた「-- before parent() --」という行がないのはなぜですか?

親クラスのプライベート メソッドで試した方法でコードを挿入することはできませんか?

助けてくれてどうもありがとう!

0 投票する
1 に答える
553 参照

variables - Javaバイトコードでローカル変数の型を変更する方法

Javassist を使用してバイトコードを書き換えています。いくつかのローカル変数の型をオブジェクトに変更する必要があります。Javassist を使用してローカル変数にアクセスし、その型を変更するにはどうすればよいですか?

ありがとう。

0 投票する
1 に答える
1294 参照

java - Javassistを使用してパラメータ化されたリストでフィールドを定義する方法

Javassistを使用してパラメータ化されたリストフィールドを定義するにはどうすればよいですか?パラメータ化されていないListクラスに文句を言わないが、パラメータを指定するとCannotCompileExceptionが発生する次のコードを試しました。